android 微信分享
来源:互联网 发布:高等教育国家数据平台 编辑:程序博客网 时间:2024/05/18 13:10
最近开发用到了微信分享,写个博客梳理一下。
申请APPID
wxc5d8ca348955ced1
导入jar包
libammsdk.jar
Manifest.xml文件添加权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- 代码示例
private IWXAPI api;
注册APP_ID
api = WXAPIFactory.createWXAPI(this, APP_ID);api.registerApp(APP_ID);
分享到朋友圈 flag:0好友,1朋友圈。
private void weChatshare(int flag) { //判断是否按照微信客户端 if (!api.isWXAppInstalled()) { showToast(getString(R.string.no_install_wechat_cli)); return; } WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl = AccountManager.DOWNLOAD_URL; WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = getString(R.string.app_name); msg.description = getString(R.string.share_description_text); Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.ic); msg.setThumbImage(thumb); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = String.valueOf(System.currentTimeMillis()); req.message = msg; req.scene = flag == 0 ? SendMessageToWX.Req.WXSceneSession : SendMessageToWX.Req.WXSceneTimeline; api.sendReq(req); }
分享回调
Manifest.xml文件配置
<activity android:name=".wxapi.WXEntryActivity" android:configChanges="keyboard|keyboardHidden|orientation" android:exported="true" android:launchMode="singleInstance" android:screenOrientation="portrait"/>
在工程目录下创建wxapi文件夹,然后创建WXEntryActivity.java文件
public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler { private IWXAPI api; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wx); api = WXAPIFactory.createWXAPI(this, Constants.APP_ID,false); api.handleIntent(getIntent(), this); } @Override public void onReq(BaseReq arg0) { } @Override public void onResp(BaseResp resp) { switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: showToast("分享成功"); System.out.println("success"); this.finish(); //分享成功 break; case BaseResp.ErrCode.ERR_USER_CANCEL: //分享取消 showToast("分享取消"); System.out.println("ERR_USER_CANCEL"); this.finish(); break; case BaseResp.ErrCode.ERR_AUTH_DENIED: showToast("分享拒绝"); System.out.println("ERR_AUTH_DENIED"); this.finish(); //分享拒绝 break; } }}
2 0
- android微信分享
- Android 微信分享
- android微信分享
- Android: 微信分享
- Android微信分享
- android 微信分享
- Android 微信分享
- Android 微信分享
- Android微信分享
- android 微信分享
- Android微信分享
- Android微信分享
- android分享之微信分享
- android 微信朋友分享,朋友圈分享
- 【Android 分享】ShareSDK微信分享详解
- Android微信分享和邮件分享
- 【Android 分享】ShareSDK微信分享详解
- 【Android 分享】ShareSDK微信分享详解
- ScrollView和EditText的滚动冲突问题
- CoAP测试服务器 wsncoap.org
- 分圆多项式
- oracle用户,权限
- Matlab Robotics Toolbox系列—使用篇(1)
- android 微信分享
- web前端之JavaScript部分开发规范和细节
- web前端开发中浏览器兼容问题(七)
- caffe for windows的python接口学习(2)生成配置文件
- Java线程同步:synchronized锁住的是代码还是对象
- 关于springboot整合mybatis,做关联查询的两种方式(注解和配置文件)
- java观察者拓展(二)根据观察者的场景需求
- 用Python 代码实现简单的神经网络
- getFields()和getDeclaredFields()区别