场景
友盟官方文档:友盟分享官网链接
好久没做微博分享了,最近集成友盟并实现微博分享时出现了个问题:当有微博客户端时,微博分享正常使用,当手机没有安装微博客户端时,却出现了一个只有“微博分享”和关闭按钮的白屏情况,如下图:
按常理都知道肯定是回调微博的web页面,于是去AndroidManifest.xml中查看是否忘记了写,对照了下官方文档也没错,代码如下:
<activity
android:name="com.umeng.socialize.media.WBShareCallBackActivity"
android:configChanges="keyboardHidden|orientation"
android:exported="false"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.sina.weibo.sdk.web.WeiboSdkWebActivity"
android:configChanges="keyboardHidden|orientation"
android:exported="false"
android:windowSoftInputMode="adjustResize" />
<activity
android:name="com.sina.weibo.sdk.share.WbShareTransActivity"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
于是上网一顿搜,有的说是友盟初始化时微博的回调地址没有和平台上的一致,也有的说是因为应用没有审核通过(备注:即使应用没审核通过,三方登录和分享也可以正常使用),或者没有添加测试号,检查了下都没问题,最后发现有一个网友说是使用WBShareActivity可以,可是官网在文档里明明说自友盟6.4.5版本接口变动后,新浪不再需要WBShareActivity,如图:
抱着试试的态度自己重新创建了WBShareActivity并且继承自WBShareCallBackActivity,和微信差不多就是个空页面,没想到加上以后真的就可以正常登录分享了,哎~友盟的坑呐!!!验证了官方文档也不是全对的。