Android应用加入微信分享

http://www.cnblogs.com/android100/p/Android-qq.html

一、申请你的AppID

http://open.weixin.qq.com/

  友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID

二、官网下载libammsdk.jar包

http://open.weixin.qq.com/download/?lang=zh_CN

三、将libammsdk.jar复制到工程的libs目录

四、在需要分享的Activity编写代码 

  1. private IWXAPI wxApi;  
  2. //实例化  
  3. wxApi = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID);  
  4. wxApi.registerApp(Constants.WX_APP_ID);  
  5. /** 
  6.  * 微信分享 (这里仅提供一个分享网页的示例,其它请参看官网示例代码) 
  7.  * @param flag(0:分享到微信好友,1:分享到微信朋友圈) 
  8.  */  
  9. private void wechatShare(int flag){  
  10.     WXWebpageObject webpage = new WXWebpageObject();  
  11.     webpage.webpageUrl = "这里填写链接url";  
  12.     WXMediaMessage msg = new WXMediaMessage(webpage);  
  13.     msg.title = "这里填写标题";  
  14.     msg.description = "这里填写内容";  
  15.     //这里替换一张自己工程里的图片资源  
  16.     Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.share_logo);  
  17.     msg.setThumbImage(thumb);  
  18.       
  19.     SendMessageToWX.Req req = new SendMessageToWX.Req();  
  20.     req.transaction = String.valueOf(System.currentTimeMillis());  
  21.     req.message = msg;  
  22.     req.scene = flag==0?SendMessageToWX.Req.WXSceneSession:SendMessageToWX.Req.WXSceneTimeline;  
  23.     wxApi.sendReq(req);  
  24. }  
  25. //在需要分享的地方添加代码:  
  26. wechatShare(0);//分享到微信好友  
  27. wechatShare(1);//分享到微信朋友圈  

 

五、在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,实现IWXAPIEventHandler接口

 
  1. /** 微信客户端回调activity示例 */  
  2. public class WXEntryActivity extends Activity implements IWXAPIEventHandler {  
  3.     // IWXAPI 是第三方app和微信通信的openapi接口  
  4.     private IWXAPI api;  
  5.     @Override  
  6.     protected void onCreate(Bundle savedInstanceState) {  
  7.         api = WXAPIFactory.createWXAPI(this, "这里替换第一步申请的APP_ID", false);  
  8.         api.handleIntent(getIntent(), this);  
  9.         super.onCreate(savedInstanceState);  
  10.     }  
  11.     @Override  
  12.     public void onReq(BaseReq arg0) { }  
  13.   
  14.     @Override  
  15.     public void onResp(BaseResp resp) {  
  16.         LogManager.show(TAG, "resp.errCode:" + resp.errCode + ",resp.errStr:"  
  17.                 + resp.errStr, 1);  
  18.         switch (resp.errCode) {  
  19.         case BaseResp.ErrCode.ERR_OK:  
  20.             //分享成功  
  21.             break;  
  22.         case BaseResp.ErrCode.ERR_USER_CANCEL:  
  23.             //分享取消  
  24.             break;  
  25.         case BaseResp.ErrCode.ERR_AUTH_DENIED:  
  26.             //分享拒绝  
  27.             break;  
  28.         }  
  29.     }  
  30. }  

六、配置清单文件AndroidManifest.xml 

  1. <activity    
  2.     android:name=".wxapi.WXEntryActivity"  
  3.     android:exported="true"  
  4.     android:screenOrientation="portrait"   
  5.     android:theme="@android:style/Theme.Translucent.NoTitleBar" />  

七、签名打包软件,然后可以测试了

posted @ 2015-11-20 17:55  nick_leeli  阅读(203)  评论(0编辑  收藏  举报