Android应用加入微信分享
一、申请你的AppID
友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID
二、官网下载libammsdk.jar包
http://open.weixin.qq.com/download/?lang=zh_CN
三、将libammsdk.jar复制到工程的libs目录
四、在需要分享的Activity编写代码
- private IWXAPI wxApi;
- //实例化
- wxApi = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID);
- wxApi.registerApp(Constants.WX_APP_ID);
- /**
- * 微信分享 (这里仅提供一个分享网页的示例,其它请参看官网示例代码)
- * @param flag(0:分享到微信好友,1:分享到微信朋友圈)
- */
- private void wechatShare(int flag){
- WXWebpageObject webpage = new WXWebpageObject();
- webpage.webpageUrl = "这里填写链接url";
- WXMediaMessage msg = new WXMediaMessage(webpage);
- msg.title = "这里填写标题";
- msg.description = "这里填写内容";
- //这里替换一张自己工程里的图片资源
- Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.share_logo);
- 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;
- wxApi.sendReq(req);
- }
- //在需要分享的地方添加代码:
- wechatShare(0);//分享到微信好友
- wechatShare(1);//分享到微信朋友圈
五、在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,实现IWXAPIEventHandler接口
- /** 微信客户端回调activity示例 */
- public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
- // IWXAPI 是第三方app和微信通信的openapi接口
- private IWXAPI api;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- api = WXAPIFactory.createWXAPI(this, "这里替换第一步申请的APP_ID", false);
- api.handleIntent(getIntent(), this);
- super.onCreate(savedInstanceState);
- }
- @Override
- public void onReq(BaseReq arg0) { }
- @Override
- public void onResp(BaseResp resp) {
- LogManager.show(TAG, "resp.errCode:" + resp.errCode + ",resp.errStr:"
- + resp.errStr, 1);
- switch (resp.errCode) {
- case BaseResp.ErrCode.ERR_OK:
- //分享成功
- break;
- case BaseResp.ErrCode.ERR_USER_CANCEL:
- //分享取消
- break;
- case BaseResp.ErrCode.ERR_AUTH_DENIED:
- //分享拒绝
- break;
- }
- }
- }
六、配置清单文件AndroidManifest.xml
- <activity
- android:name=".wxapi.WXEntryActivity"
- android:exported="true"
- android:screenOrientation="portrait"
- android:theme="@android:style/Theme.Translucent.NoTitleBar" />