以应用宝为例,由于应用宝渠道用到了微信授权,而且回调 Activity 是 WXEntryActivity,跟 ShareSDK 的微信回调类冲突。解决方案如下:1、把原来 ShareSDK 的微信回调类 WXEntryActivity 修改成 SSDKWXEntryActivity,然后在 AndroidManifest 中配置 2、在应用宝的微信授权回调类 WXEntryActivity 中,添加如下代码 3、SSDKWXEntryActivity 类与 WXEntryActivity 类在同一个包中,如 cn.sharesdk.demo.wxapi
/** 应用宝微信授权回调activity,需要继承 YSDKWXEntryActivity*/
public class WXEntryActivity extends YSDKWXEntryActivity {
public void onCreate(Bundle arg0) {
super.onCreate(arg0);
}
public void onResp(BaseResp resp) {
if (resp instanceof SendMessageToWX.Resp) {
//把原来ShareSDK的微信回调类WXEntryActivity改成SSDKWXEntryActivity
//然后在AndroidManifest中,注册SSDKWXEntryActivity
Intent intent = new Intent(this, SSDKWXEntryActivity.class);
intent.putExtras(getIntent());
startActivity(intent);
finish();
} else {
super.onResp(resp);
}
}
}
复制代码
AndroidManifest 中的配置信息
<!-- 应用宝的微信授权回调类 -->
<activity
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true" />
<!-- ShareSDK的微信分享回调类 -->
<activity
android:name=".wxapi.SSDKWXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true" />
复制代码
这样就解决 ShareSDK 与应用宝微信回调类的冲突问题
评论