美文网首页开放平台
Android微信之简单文本分享(集成官方SDK-Android

Android微信之简单文本分享(集成官方SDK-Android

作者: 微小码 | 来源:发表于2016-06-20 18:13 被阅读7247次

    目前官方还没有Android Studio整合说明

    一.前期准备

    1.帐号申请
    https://open.weixin.qq.com/
    首先登录微信开放平台,注册一个帐号
    2.提交APP审核
    为什么必须提交app审核呢?

    请看下图微信开放平台接口使用权限
    不提交审核,根本没法用,无语了。。。
    提交需要准备:应用名称,应用简介,应用图片(2828,108108),应用官网
    android版本:需要提供应用签名,应用包名
    具体参考官网,安装步骤一步步来
    这里需要注意几点:
    第一:关于应用签名,需要把你的app打包成APK安装到手机,然后通过签名工具,生成对应的签名
    不得不说官方的签名工具真的是给人用的吗?

    官方签名工具截图

    我还是推荐使用新浪的签名工具吧!

    扫码安装

    新浪签名工具截图

    第二:如果每次打包都是采用相关的证书,那么生成的签名是一样的!!!
    下面就可以提交审核了,审核周期官方说是7天,一般1-2天就可以审核通过了!


    审核通过

    APPID还是非常有用的,后面会用到。
    3.手机安装微信客户端
    补充:由于本Demo只是简单使用了文本分享API,如果你需要使用微信登录API,那么就需要进行开发者认证(具体认证流程请参考官网),非政府,事业单位,每年300,政府事业单位认证免费。
    至此,前期所有的准备工作完成,下面进行代码的整合。

    二.整合说明

    1.导入SDK Jar包

    sdk下载地址:
    https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&lang=zh_CN

    网页截图

    导入到项目中

    导入jar包.png

    2.添加必要的权限

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    3.向微信APP注册你的id
    要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。

    注册APP_ID

    4.发起文本分享请求

     // 文本分享
     private void shareText() {   
     // 初始化一个WXTextObject对象   
     WXTextObject textObj = new WXTextObject();   
     textObj.text = "微信文本分享测试";   
     // 用WXTextObject对象初始化一个WXMediaMessage对象   
     WXMediaMessage msg = new WXMediaMessage();   
     msg.mediaObject = textObj;   // 发送文本类型的消息时,title字段不起作用   
     // msg.title = "Will be ignored";   
     msg.description = "微信文本分享测试";   // 构造一个Req   
     SendMessageToWX.Req req = new SendMessageToWX.Req();   
     req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求   
     req.message = msg;   // 分享或收藏的目标场景,通过修改scene场景值实现。   
     // 发送到聊天界面 —— WXSceneSession   
     // 发送到朋友圈 —— WXSceneTimeline   
     // 添加到微信收藏 —— WXSceneFavorite   
     req.scene = SendMessageToWX.Req.WXSceneTimeline;   
     // 调用api接口发送数据到微信   
     api.sendReq(req);  
     }
    

    5.处理分享成功后的回调
    如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面操作
    a.在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity

    微信回调处理类.png

    特别说明:包名必须和中间平台里填写的包名保持一直,否则回调失败
    特别说明:包名必须和中间平台里填写的包名保持一直,否则回调失败
    特别说明:包名必须和中间平台里填写的包名保持一直,否则回调失败
    并在manifest文件里面加上exported属性,设置为true,例如:

        <!-- 
         将WXEntryActivity设置为透明 android:theme="@android:style/Theme.Translucent"
         这样就解决了,微信分享成功后,跳转到指定WXEntryActivity,显示微信分享信息,
         而给用户视觉效果就在当前界面。 
         -->
    
        <activity
        android:name="wxapi.WXEntryActivity"
        android:exported="true"
        android:theme="@android:style/Theme.Translucent" >
        </activity>
    

    b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法

    注意

    如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:
    -keep class com.tencent.mm.sdk.** {
    *;
    }

    问题汇总1:

    问题汇总2:通过Eclipse安装APK,无法直接测试

    建议直接生成APK后,进行测试
    至此,你已经能使用微信Android开发工具包的API内容了。如果想更详细了解每个API函数的用法,请查阅 Android 平台参考手册 或自行下载阅读微信SDK Sample Demo源码。

    源码:

    https://github.com/andli0626/wx_share_by-Android-Studio.git

    效果:

    参数资料:

    https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN
    http://www.bkjia.com/Androidjc/979960.html
    http://androidmaster.iteye.com/blog/1887876

    image

    相关文章

      网友评论

      • 3e0bb6e6091e:我想问一下,那个android开发工具包为啥下载不了?
      • 张老虎:你好,分享的文字内容无法复制,请问知道怎么解决吗
      • 7440c187a818:能不能留下个QQ号 想请教你一个问题

      本文标题:Android微信之简单文本分享(集成官方SDK-Android

      本文链接:https://www.haomeiwen.com/subject/aeiwdttx.html