公司的一个项目,用了第三方API ShareSDK把信息分享到各大平台,包括微博、QQ、微信等,但在弹出的分享GridView对话框中点击分享到微信或者朋友圈,微信都没有被调用开启,通知栏显示了下“分享操作将在后台进行”,就没反应了。为了这个问题,我们参考了ShareSDK官网中的问题收集:http://wiki.mob.com/Android_%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98,包括下载GenSignature到手机去验证签名是否与微信平台一致、重新导出APK、清空微信缓存数据等方法。
排除了几个不可能问题后,我们认为是微信缓存数据导致了微信无法分享,因为前段时间我们在微信平台创建了一个新应用并修改了ShareSDK.xml下的AppKey值,所以我们试着清空微信缓存数据,然后再进行分享,第一次分享是可以调用微信并且成功分享的,再进行分享的话就一直无法调用微信了。
这很纳闷很纠结!ShareSDK说是微信平台签名问题,可我们验证过签名确定与平台的一致了!
后来,ShareSDK客服又让我们查看下ShareSDK后台”设置“-->”社会化平台设置“中的微信平台是否填写了App ID,尽可能使用本地的ShareSDK.xml,结果打开一看,坑爹的居然填了一个App ID,只要把它清空保存即可。随后,微信一直都可以分享了!!