按照UmengSDK的demo进行集成后,碰到的几个问题
一、点击qq或空间分享,出现应用无响应(ANR)的情况。
解决方法:查查是否分享的图片参数是否已经设置,没有设置会出现ANR,设置后可以正常分享。title、url、content等参数是否设置正确
二、微信分享不成功。现象是点击微信或朋友圈分享后,出现微信的界面,提示请稍候,然后一闪而过消失,没有其他报错。查看logcat出现错误:
## get sso Handler, requestCode = 10086, 微信访问被拒绝(未知错误)-----------微信分享
## get sso Handler, requestCode = 10085, 微信访问被拒绝(未知错误)-----------微信朋友圈分享
解决方法:
看看应用MD5签名和在微信开放平台上登记的MD5签名是否一致。值得注意的是在开放平台上录入的MD5签名必须去掉冒号,同时全部改为小写字母。如果是一致的话,还是不行的话,清空下微信缓存,再不行,卸载微信重新安装,并重新安装运行程序,建议:先运行安装程序,然后用手机签名工具确认签名是否和在微信开放平台上注册的是否一致,若一致
则运行程序,否则更改开放平台的MD5与安装程序一致,开始运行,应该会成功分享。
UmengSDK 微信Demo运行不成功解决办法:
Demo中使用的微信AppId绑定的签名信息和你打包时所用的签名信息不一致导致无法响应。
1.申请一个测试Demo中AppId (申请地址)
填写"包名"时请使用Demo的包名"com.umeng.soexample"
填写"签名"使用签名生成工具(签名工具)生成签名时填写Demo的包名
获取微信AppId后替换Demo中的使用的AppId
实际开发时需要通过微信审核后,AppId才有效
2.使用SDK中的 debug.keystore编译运行Demo工程。(keystore使用方法)
三、新浪微博分享,web页面显示:你所访问的站点在微博的认证失败,请稍后再试。如有疑问,请联系XX。(error:redirect_uri_mismatch) 。这种问题往往发生在新提交了移动应用但未审核的情况下。
解决方法:需要在微博开放平台的应用基本信息中配置安全域名:sns.whalecloud.com。同时在高级信息中配置OAuth2.0 授权设置:
四、新浪微博开始分享后不久出现分享失败的错误,查看Logcat出现错误:sina : error, User is not in platform app test list
解决办法:从日志错误来看,是提示用来分享的用户不在平台应用的测试账号列表中。这一般发生在未审核应用中。可以在应用的测试信息中添加测试账号来测试分享。
五、新浪微博分享,在安装微博客户端的时候,分享时总是提示“sso package or sign error”,而在未安装微博客户端的时候,在web auth授权页面又总是提示来自“来自友盟社会化组件”,而不是显示来自"XXX应用"。
解决办法:
1、检查应用包名和md5签名是否在新浪开放平台填写正确。
2、检查授权回调页是否填写正确
3、检查应用是否审核成功
4、检查友盟的分享设置页面,新浪微博分配的appkey和appsecret是否填写正确并正确绑定。
5、如果以上四个步骤都检查无误,但是还是出现来源错误的话,检查Androidmanifest.xml中UMENG_APPKEY是否填写正确。