• [原]Android中接入微信客户端心得


    最近因为工作的项目中要接入微信开放平台,于是一直在做这方面的工作,再加上比较忙,所以只有现在才有机会来记录一下关于程序中接入微信开放平台的事情。

    目前android版只支持SDK接入微信,朋友圈分享功能只有ios支持,相信不久就会有android版本的支持的。好了,废话不多说,进入话题,详情请移步http://open.weixin.qq.com

    关于程序接入微信客户端,只需要以下四步:

    **********华丽的分割线**********

    特别要注意签名,一定要和你的APP签名保持一致,否则在你分享的过程中弹不出选择联系人的界面。

    *****************************

         第一步:申请APP_ID,请移步http://open.weixin.qq.com/app/list/.在这里需要注意的是Android应用除了获取AppID外,还需要在网站上填写包名和签名两个字段,签名的具体生成方法如下:

        这里以windows平台的cygwin环境和命令行环境为例,且默认开发者已经安装了jdk,能够正常使用keytool

     

        1、cygwin环境下

    cygwin环境下运行如下命令,输出结果即为signature

    keytool -exportcert -alias [alias] -keypass [alias password] -keystore [keystore file path] -storepass [keystore password] | md5sum

     

    例如:当前路径下包含用于对app签名的test.keystore文件,且keystore密码为123456,别名为openapi,别名密码为654321,则运行如下命令:

    keytool -exportcert -alias openapi -keypass 654321 -keystore ./test.keystore -storepass 123456 | md5sum

     

    输出结果为:8f88de9693d22430ad7ce55047ec7946

     

      

     

        2、命令行环境下

    由于命令行下系统没有提供默认的md5sum,建议开发者自行选择合适的md5生成工具(http://sourceforge.net/directory/os:windows/freshness:recently-updated/?q=md5 ),生成方法跟cygwin环境下类似,可以先将keytool的输出重定向到文件,然后再用md5生成工具对该文件进行md5处理,获得signature,结果跟cygwin环境下相同。

     

    keytool -exportcert -alias openapi -keypass 654321 -keystore ./test.keystore -storepass 123456 > out.txt

     

    二、下载微信终端开发工具包

    三、在代码中使用开发工具包(以上两步详情请移步:http://open.weixin.qq.com/document/gettingstart/android/);

     

    这里主要说明的是本人碰到的几个问题:

     

    1、在接入微信客户端的过程中一定要注意:首先判断是否安装有微信(使用IWXAPI类的isWXAppInstalled()方法),否则你会发现程序是正确的,但是无论如何都不会得到想要的结果,也不会报任何错误。

     

    2、在接入微信客户端的过程中一定要注意:当前的微信版本是否是4.0(使用IWXAPI类的isWXAppSupporAPI()方法),后果如上。

    3、在接入微信客户端的过程中一定要注意:分享图片的时候,SDK协议中对缩略图的大小作了限制,大小不能超过32K。另外限制的还有title、description等参数的大小,否则后果如上。

    4、如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作:

            a、在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,并在manifest文件里面加上exported属性,设置为true。

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

           c、在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法。

       d、当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。

        最后应该注意:微信开放平台分享图片Url是一个bug,貌似是分享不了的,现在不知道这个bug修复了没有。

     

  • 相关阅读:
    浏览器的跨域请求 与 CORS(跨域资源共享)
    HTML 占位符
    C# 中的 base和this
    推荐一个pdf引擎
    整理wifi相关的知识点
    交叉编译(ISC)DHCP:dhcp-4.3.0b1
    (转载)子网掩码,网关的概念
    海思-VB被占用导致vb无法去初始化
    c++创建文件时重命名同名文件
    iw创建虚拟网卡wlan1,ap_sta共存
  • 原文地址:https://www.cnblogs.com/tanlon/p/2583661.html
Copyright © 2020-2023  润新知