Android应用开发Android --之WeChat分享
白羽 2019-04-09 来源 :网络 阅读 728 评论 0

摘要:本文将带你了解Android应用开发Android --之WeChat分享,希望本文对大家学Android有所帮助。

    本文将带你了解Android应用开发Android --之WeChat分享,希望本文对大家学Android有所帮助。



Android应用开发Android --之WeChat分享



    Android --之WeChat分享。
   
    1.申请你的AppID
    请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。
    2.下载SDK及API文档
    Android Studio环境下:
    在build.gradle文件中,添加如下依赖即可:

    dependencies {
        compile   'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
    }
    或

    dependencies {
        compile   'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
    }
    (其中,前者包含统计功能)
    3.搭建开发环境
    Android Studio环境下:
    在Android Studio中新建你的工程,并保证网络设置可以成功从jcenter下载微信SDK即可。
   
    4.在代码中使用开发工具包
    [1] AndroidManifest.xml 设置
    添加必要的权限

       

    [2] 注册到微信
      要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。(如下图所示,可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用id注册到微信。注册函数示例如下图所示。
   

    //WX_APP_ID替换为应用从官网申请到的合法appid
    private static final String WX_APP_ID = ;
    //IWXAPI是第三方app和微信通信的openapi接口
    private IWXAPI api;
    ...
    ...
    private void register() {
              //通过WXAPIFactory工厂,获取IWXAPI的实例
            api =   WXAPIFactory.createWXAPI(this, WX_APP_ID, true);
            //将应用的appid注册到微信
              api.registerApp(WX_APP_ID);
        }
    [3] 发送请求或响应到微信
    现在,你的程序要发送请求或发送响应到微信终端,可以通过IWXAPI的 sendReq 和 sendResp 两个方法来实现。
    boolean sendReq(BaseReq req);
    sendReq是第三方app主动发送消息给微信,发送完成之后会切回到第三方app界面。
    boolean sendResp(BaseResp resp);
    sendResp是微信向第三方app请求数据,第三方app回应数据之后会切回到微信界面。
   

    WXTextObject textObj = new WXTextObject();
    textObj.text = 简简单单  一个测试而已;
     
    WXMediaMessage msg = new WXMediaMessage();
    msg.mediaObject = textObj;
     
    // msg.title = Will be ignored;
    msg.description = 你真的以为我就是一个测试 ;
     
    SendMessageToWX.Req req = new SendMessageToWX.Req();
    req.transaction = buildTransaction(text);
    req.message = msg;
    req.scene = SendMessageToWX.Req.WXSceneSession;
     
    api.sendReq(req);
    需要注意的是
      SendMessageToWX.Req的scene成员,如果scene填WXSceneSession,那么消息会发送至微信的会话内。如果scene填WXSceneTimeline(微信4.2以上支持,如果需要检查微信版本支持API的情况,   可调用IWXAPI的getWXAppSupportAPI方法,0x21020001及以上支持发送朋友圈),那么消息会发送至朋友圈。scene默认值为WXSceneSession。
   
    [4] 接收微信的请求及返回值
    如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作:
    a.   在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity
   
    b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法
    c. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下图:
   
      当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。
   
    注意事项
    [1]如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:
   
 
    -keep class com.tencent.mm.opensdk.** {
       *;
    }
    -keep class com.tencent.wxop.** {
       *;
    }
    -keep class com.tencent.mm.sdk.** {
       *;
    }
    清单小计:
   
    ?
    1
    android.content.ActivityNotFoundException: Unable to find explicit activity   class { com.tencent.mm /com.tencent.mm.ui.LauncherUI}; have you declared this   activity in your AndroidManifest.xml?
    1.查看AndroidManifest文件内是否已注册
    2.那就表示你的设备上没有安装微信
   
    另外,WeChat测试需要打正式包运行方可验证效果.
   
        

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程