踩坑!android端集成微信第三方登录

本篇记录 app 端获取到微信 code 的过程。用 code 获取 access_token 的过程是后台服务器完成的。(当然也可以由 app 端自己去拿 code 换取 access_token,这里考虑到如果是后台获取token,android 和 ios 两个人都省事,所以就麻烦了后台老哥们)

这里假设你已经注册了微信开放平台的开发者账号,并且已经申请了 appkey 和 appid

添加 gradle依赖

这里写图片描述

配置清单文件

这里写图片描述

发起微信登录请求

这里写图片描述

微信登录的回调处理

  • 在包名目录下创建 wxapi 文件夹

这里写图片描述

  • 创建类 WXEntryActivity 并在清单文件中注册

这里写图片描述

  • 回调监听数据的处理

这里写图片描述

成功获取 code 的示例

这里写图片描述

坑来了

  • 项目很早之前有这么个需求,就是开发版和正式版要同时安装到手机上,就像两个不同的app,于是就利用 gradle 实现了动态修改包名来达到这个目的。(坑挖的也是挺隐蔽挺深的)。

  • 前一段时间要集成微信登录了,ok照着文档一步步来,反复测试反复确认,就是不能调起微信,各种偏方都试了还是不行,就这样耗了两天,突然灵光一闪,会不会是动态改包名的锅?

  • 来一波分析,当前 module 的目录结构是 com/xxx/app, 正式版包名com.xxx.release,测试版包名com.xxx.app,当打正式包的时候,目录结构跟正式版版包名不一致,ok,直接更改目录结构为com/xxx/release 打正式包测试,完美解决。。

假装有个总结

有时候有些bug,真的是很诡异很奇怪,当 baidu google 都帮不了你的时候,先别放弃,不妨静下心来好好想想,多试试,总能解决的。

猜你喜欢

转载自blog.csdn.net/captive_rainbow_/article/details/78717950