做项目做到友盟的微信分享,最开始出现的问题是分享成功了,但是点击返回app,会崩一下然后弹出个吐司:登陆成功.我就看log,发现是走了WXEntryActivity的onResp里的微信登录方法,因为分享没有获取到用户的accessTokenEntity,所以会崩一下,然后弹出登陆成功的吐司.
微信登录我用的原生的方法,友盟的微信登录总有问题.但是这样导致回调各种不成功,我在文档里看,说可能是onResp方法里登录逻辑覆盖了分享的逻辑,所以要加一个判断:
public class WXEntryActivity extends WXCallbackActivity { @Override public void onResp(BaseResp resp) { if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) { switch (resp.errCode) { case 0: Toast.makeText(this, "支付成功!", Toast.LENGTH_LONG).show(); break; case -2: Toast.makeText(this,"支付取消!",Toast.LENGTH_LONG).show(); break; case -1: Toast.makeText(this,"支付失败!",Toast.LENGTH_LONG).show(); break; default: Toast.makeText(this,"支付出错!",Toast.LENGTH_LONG).show(); break; } } else { super.onResp(resp);//一定要加super,实现我们的方法,否则不能回调 } } }
大概代码是这样,但我的那句super.onResp(resp);报错,说没有这个方法.就又在网上找了个方法:
https://blog.csdn.net/dl10210950/article/details/52942246
代码粘过去又改了点,成功!