Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

一.     去微信开放平台注册app,拿到APPID,APPsecret。申请支付、转发、登陆等功能的开通

二.    微信开方平台审核通过以后,要想实现支付、分享、登陆,要注意签名是否正确,微信开放平台保存的包名是否一致,签名是          否经过签名生成器验证,以上都需要正确打包才可以使用,测试包不可以

三.     以上步骤没问题以后我们就可以开始写代码了 

1.首先导入 微信的依赖 implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.1.6'

在外层创建包wxapi 下面创建WXEntryActivity类 名称固定 

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

在AndroidManifest.xml  里面声明 WXEntryActivity

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

这样前面的步骤差不多结束了 下面就开始在代码里面写逻辑了

2.在MyApplication 里面初始化微信

3.在我们点击登录的时候调用WX的SDK

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

4.WX调起支付的方法

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

5. WX的分享 功能 需要 单独写一个类出来,里面有分享朋友圈功能和好友分享外加对图片的处理  我把代码 粘在下

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

对图片的 处理  

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

 

6.我们WXEntryActivity里面写WX SDK的回调  

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

以上 是 微信登陆 转发 支付的 代码,当然 关于请求方法 逻辑操作都不一样,所以大同小异 根据后台的接口和产品的逻辑 自己动动小手就OK啦,

四.  总结  

通过做几次关于微信的需求 我总结出以下问题

1.签名是否一致 包名是否一致 , 是否初始化

2.微信分享的图片像素不要太大,要不然调不起来微信分享,分享失败还一种原因就是

Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)

分享介绍文字不要太长这样也容易造成分享失败Android 微信登陆,支付 ,分享实现和疑难杂症(解决坑)可以截取一下字符串

3.调取支付我们需要注意的是必须传的参数不要漏掉,最后一定要 调用 “sendReq(request)"

 

希望以上 内容能够帮助到刚接到 微信需求的 小伙伴