以应用宝为例,由于应用宝渠道用到了微信授权,而且回调 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 与应用宝微信回调类的冲突问题
评论