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" />