以應用寶為例,由於應用寶渠道用到了微信授權,而且回調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與應用寶微信回調類的衝突問題