微信作为目前最强大,用户最多的社交软件,提供了丰富的SDK功能,如微信支付、微信分享、微信登陆等。
在集成的过程中会有很多坑,做为知名大厂,提供给广大开发者的东西糟糕的让人无力吐槽,下面就罗列一些具体的问题,避免后面的人重复踩坑。
一、SDK Demo之功能不全
1、从官网下载下来的Demo,将app注册到微信时需要 READ_PHONE_STATE 权限,竟然没有做权限检查,不看log都不知道这块已经报错了
2、下载下来的Demo中默认使用了旧的SDK版本5.3.1,使用分享功能时有微信弹窗但点了之后就是让你跳不过去,你说是不是比较坑爹,需要把把build.gradle中的SDK版本替换成
api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
从而获取到最新的版本,才能成功拉起微信完成分享功能。
3、如果SDK版本更新了还是无法拉起微信,那么把demo的包名改了不要用demo默认的
net.sourceforge.simcpux,这应该才是拉不起微信的根本原因(替换SDK的方法可以仅做参考了),可能微信担心有人直接使用这个demo,所以对这个包名做了特殊保护
二、微信分享多图
1、背景介绍:
(1) 微信官方文档只提供了单图分享到微信好友和朋友圈
(2) Android系统支持分享多文件(图片、其他文件)给支持分享功能的应用,主要借助系统分享实现微信分享多图
(3) 微信在后来的版本(具体那个版本不确定)中不支持分享多图到朋友圈了,但是分享多图给好友还是可以的
2、坑点介绍:
(1) Android7.0系统以后通过系统分享多图到微信时可能会碰到错误提示:Failed to find provider info for com.tencent.mm.sdk.comm.provider或者“分享失败,仅支持分享图片格式”,是因为Android7.0以后为了加强文件的私有性和使用规范引入了FileProvider,这时如果传给微信的是应用专有的uri的话微信是无法识别的,需要使用系统通用的uri,具体参考
https://blog.csdn.net/qq_34900897/article/details/85320646
后续会更新更多在使用过程中坑,供大家参考借鉴。。。