恒泰博远,专家级研发软件定制开发公司,为企业定制营销、办公、管理软件 在线咨询 :
咨询电话:010-82969001

微信公众平台开发,安卓Android接入指南

来源: 作者: 时间:2017-03-13

[摘要]微信公众平台开发,安卓Android接入指南,通过接入即可进行安卓系统手机调用接口开发。

  微信公众平台开发,安卓Android接入指南,通过接入即可进行安卓系统手机调用接口开发。


  注1:微信SDK改成通过Gradle的方式发布到jcenter,包名做了相应修改,从原来的com.tencent.mm.sdk修改为com.tencent.mm.opensdk,需要开发者修改对应的import语句。


  注2:本文为微信Android终端开发工具的新手使用教程,只涉及教授SDK的使用方法,默认读者已经熟悉IDE的基本使用方法(AndroidStudio(推荐)或Eclipse),以及具有一定的编程知识基础等。


  1.申请你的AppID


  请到开发者应用登记页面进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。


  2.下载SDK及API文档


  AndroidStudio环境下:


  在build.gradle文件中,添加如下依赖即可:


微信公众平台开发,安卓Android接入指南1.jpg


  Eclipse环境下:


  请前往“资源下载页”下载最新SDK包


  3.搭建开发环境


  AndroidStudio环境下:


  在AndroidStudio中新建你的工程,并保证网络设置可以成功从jcenter下载微信SDK即可。



  Eclipse环境下:


  [1]在Eclipse中建立你的工程。


  [2]在工程中新建一个libs目录,将开发工具包中libs目录下的libammsdk.jar复制到该目录中(如下图所示,建立了一个名为SDK_Sample的工程,并把jar包复制到libs目录下)。


微信公众平台开发,安卓Android接入指南2.jpg

  [3]右键单击工程,选择BuildPath中的ConfigureBuildPath...,选中Libraries这个tab,并通过AddJars...导入工程libs目录下的libammsdk.jar文件。(如下图所示)。


微信公众平台开发,安卓Android接入指南3.jpg

  在你需要使用微信终端API的文件中导入相应的类。


  importcom.tencent.mm.opensdk.openapi.WXTextObject;


  4.在代码中使用开发工具包


  [1]AndroidManifest.xml设置


微信公众平台开发,安卓Android接入指南4.jpg


  [2]注册到微信


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


微信公众平台开发,安卓Android接入指南5.jpg


  [3]发送请求或响应到微信


  现在,你的程序要发送请求或发送响应到微信终端,可以通过IWXAPI的sendReq和sendResp两个方法来实现。


  booleansendReq(BaseReqreq);


  sendReq是第三方app主动发送消息给微信,发送完成之后会切回到第三方app界面。


  booleansendResp(BaseRespresp);


  sendResp是微信向第三方app请求数据,第三方app回应数据之后会切回到微信界面。


  sendReq的实现示例,如下图所示:


微信公众平台开发,安卓Android接入指南6.jpg


  需要注意的是,SendMessageToWX.Req的scene成员,如果scene填WXSceneSession,那么消息会发送至微信的会话内。如果scene填WXSceneTimeline(微信4.2以上支持,如果需要检查微信版本支持API的情况,可调用IWXAPI的getWXAppSupportAPI方法,0x21020001及以上支持发送朋友圈),那么消息会发送至朋友圈。scene默认值为WXSceneSession。


  sendResp的实现与SendReq类似,如下图所示:


微信公众平台开发,安卓Android接入指南7.jpg


  具体要发送的内容由第三方app开发者定义,具体可参考微信开发工具包中的SDKSampleDemo源码。


  [4]接收微信的请求及返回值


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


  a.在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity(例如应用程序的包名为net.sourceforge.simcpux,则新添加的类如下图所示)


微信公众平台开发,安卓Android接入指南8.jpg

  并在manifest文件里面加上exported属性,设置为true,例如:


微信公众平台开发,安卓Android接入指南9.jpg

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


  c.在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下图:


微信公众平台开发,安卓Android接入指南10.jpg

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


  注意事项


  [1]如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:


  -keepclasscom.tencent.mm.opensdk.**{


  *;


  }


  -keepclasscom.tencent.wxop.**{


  *;


  }


  -keepclasscom.tencent.mm.sdk.**{


  *;


  }


  [2]如果需要运行SDKSample工程,需要通过指定的debug.keystore来进行签名:


  AndroidStudio环境下:


微信公众平台开发,安卓Android接入指南11.jpg


  Eclipse环境下:


  请查阅文档《如何运行SDKDemo工程


  至此,你已经能使用微信Android开发工具包的API内容了。如果想更详细了解每个API函数的用法,请查阅Android平台参考手册或自行下载阅读微信SDKSampleDemo源码。

    微信SDKSampleDemo源码