Android 微信登录、分享、支付、收藏接入的详细介绍kotlin

引言

在当前的大环境下,很多项目的需求都会要求有第三方微信登录、分享、支付等等功能。基本上已经成为每个应用的标配了。

固然市面上有很多第三方插件可供我们使用,而且貌似也挺方便的。但是作为一名合格的开发者,如果只知其然而不知其所以然的话是很悲哀的一件事。所以我们今天就来说说微信的接入问题。

申请你的APPID

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

依赖

还在用eclipse开发的恕不接待,见谅见谅…

Android studio配置,在项目moudle的build.gradle中添加依赖:

这个包括了统计功能,如果不想要那个统计功能请使用如下依赖:

AndroidManifest.xml 设置

添加必要的权限支持:

注册到微信

要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。比如:你想支付的时候调起你手机上的微信,这个时候就用到这个了。

这个注册,官方推荐在程序的入口处注册,那我们直接去Application中注册吧

发送请求或响应到微信

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

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

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

需要注意的是,SendMessageToWX.Req的scene成员,如果scene填WXSceneSession,那么消息会发送至微信的会话内。如果scene填WXSceneTimeline(微信4.2以上支持,com.tencent.mm.opensdk.constants.Build.java里面定义了各个功能支持的版本号,如果需要检查微信版本支持API的情况, 可调用IWXAPI的getWXAppSupportAPI方法,比如,要判断微信是否支持分享到朋友圈功能,可以如下所示进行判断:if (api.getWXAppSupportAPI() >= Build.TIMELINE_SUPPORTED_SDK_INT) {//do share}

),那么消息会发送至朋友圈。scene默认值为WXSceneSession。

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

接收微信的请求及返回值

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

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

注意事项

如果需要运行SDK Sample工程,需要通过指定的xxxxx.keystore来进行签名:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180929G08YKP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券