以利用宝为例,因为利用宝渠道用到了微信受权,而且回调 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 与利用宝微信回调类的抵触问题