一、微信SDK登录无法调起,微信SDK无法接收回调的几种解决办法
下面说的第2小点真的是浪费了我整天的时间
参考:http://www.cnblogs.com/yejiurui/p/6900376.html
平时在开发中,有些开发者经常会遇到微信登录SDK登录时,无法调起微信客户端,以及登录完毕后无法回调的情况
这些情况,大概原因如下,请对号入座:
1.包名和签名,跟微信后台登记的不一样,导致无法调起微信
2.回调类WXEntryActivity 的包名和 application Id不一致,导致无法回调
针对上面情况的简短解答:
1、仔细检查微信后台登记的包名和签名是否正确!然后再测试
2、使用Android Studio开发后,Application Id和package Name 可以不一致,但是你的微信回调类,谨记一点要跟微信后台登记注册的包名一致,否则无法回调!!很多人栽倒这上面
二、android studio导出jar给uinty用
1、先随便创建一个android studios工程,包名什么都随便。
2、再在这个工程中新建一个android library的module.
这个module创建时要指定一具包名,对它的包名只有一个要求,就是只不和unity工程的包名相同就好。
3、然后将你要引用的其它jar包导入
4、一般的java类都可以创建在这个module的默认包名下面。
5、但注意上面的第2小点提到的。你要创建一个包名为:
。。。
。。。
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/classes.jar')
compile files('libs/wechat-sdk-android-with-mta-1.3.5.jar')
}
task makeJar(type: Copy) {
delete 'build/libs/mylibs.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
include('wechat-sdk-android-with-mta-1.3.5.jar')
rename ('classes.jar', 'mylibs.jar')
}
makeJar.dependsOn(build)
// gradlew makeJar 用这个命令行来生成jar包
三、微信sdk登录,流程
// 1、读取本地保存的 access_token
// 1.1 本地有,验证是否有效
// 1.1.1 有效,ok返回
// 1.1.2 无效,走 refresh_token 逻辑
// 1.2 本地没有,获取 access_token 注:这走用户授权页面
// 成功返回后,保存 access_token 和 refresh_token
// 2、读取地保存的 refresh_token
// 2.1 如果本地有refresh_token,用它来刷新 access_token
// 2.1.1 如果 refresh_token 有效,会得到新的 access_token 和 refresh_token
// 保存新的 access_token 和 refresh_token
// ok返回
// 2.1.2 如果 refresh_token 无效,重新获取 access_token 注:这走用户授权页面
// 成功返回后,保存 access_token 和 refresh_token
// 2.2 本地没有refresh_token,获取 access_token 注:这走用户授权页面
// 成功返回后,保存 access_token 和 refresh_token