友盟社會化分享登入沒有跳轉
阿新 • • 發佈:2019-01-28
兩個確認:
一:確認簽名,包名,appId,配置正確,與微信後臺一致。
二:確認微信回撥activity正確。所謂正確:
1.AndroidManifest 中配置資訊要與與文件一致。我使用的是最新sdk,版本號6.4.3。
<!--微信-->
<activity
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported ="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
2.WXEntryActivity
路徑必須在包名/wxapi下。WXEntryActivity 繼承WXCallbackActivity ,一定要和下面一致。注意,一定不要重寫。這是因為WXCallbackActivity 已經實現了相應的處理。
public class WXEntryActivity extends WXCallbackActivity {
}
看一下WXCallbackActivity原始碼,WXCallbackActivity 是一個抽象類,實現了IWXAPIEventHandler 中的 onResp和onReq方法,具體由UMWXHandler 去實現。
public abstract class WXCallbackActivity extends Activity implements IWXAPIEventHandler {
private final String TAG = WXCallbackActivity.class.getSimpleName();
protected UMWXHandler mWxHandler = null ;
public WXCallbackActivity() {
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
UMShareAPI api = UMShareAPI.get(this.getApplicationContext());
Log.um("WXCallbackActivity");
this.mWxHandler = (UMWXHandler)api.getHandler(SHARE_MEDIA.WEIXIN);
Log.e(this.TAG, "handleid=" + this.mWxHandler);
this.mWxHandler.onCreate(this.getApplicationContext(), PlatformConfig.getPlatform(SHARE_MEDIA.WEIXIN));
this.handleIntent(this.getIntent());
}
protected void handleIntent(Intent intent) {
this.mWxHandler.getWXApi().handleIntent(intent, this);
}
protected void onNewIntent(Intent paramIntent) {
Log.d(this.TAG, "### WXCallbackActivity onNewIntent");
super.onNewIntent(paramIntent);
this.setIntent(paramIntent);
UMShareAPI api = UMShareAPI.get(this.getApplicationContext());
this.mWxHandler = (UMWXHandler)api.getHandler(SHARE_MEDIA.WEIXIN);
Log.e(this.TAG, "handleid=" + this.mWxHandler);
this.mWxHandler.onCreate(this.getApplicationContext(), PlatformConfig.getPlatform(SHARE_MEDIA.WEIXIN));
this.handleIntent(paramIntent);
}
@Override
public void onResp(BaseResp resp) {
if(this.mWxHandler != null && resp != null) {
try {
this.mWxHandler.getWXEventHandler().onResp(resp);
} catch (Exception var3) {
;
}
}
this.finish();
}
@Override
public void onReq(BaseReq req) {
if(this.mWxHandler != null) {
this.mWxHandler.getWXEventHandler().onReq(req);
}
this.finish();
}
}