Android调用第三方的微信分享功能

来源:互联网 发布:淘宝怎么延长付款时间 编辑:程序博客网 时间:2024/05/18 00:14

一、到微信开放平台申请APPID

           1、到开放平台申请之前,把打包好的apk装在自己的手机。

           2、在手机装一个生成应用签名工具。

               

           3、将应用包名写在文本框里面,点击按钮生成MD5。非常重要,应用包名不能写错。

           4、再到开放平台创建移动时,将生成的MD5写在应用签名文本框,并且在开放平台应用包名要跟你现在填写的应用包名要一致。

           5、提交审核。

           6、开放平台会返回APPID和APPSecret。开发者可以根据它的APPID去调用微信的接口。

二、官网下载libammsdk.jar包

           1、将libammsdk.jar复制到工程的libs目录。
           2、该包是用于实现与微信的通信。

三、在需要分享的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" />


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



0 0
原创粉丝点击