在微信
WXEntryActivity里 需要区分 是登录的,还是分享的,否则有时候分享后 ,返回app会报错,
下面直接上代码:
@Override public void onResp(final BaseResp baseResp) { switch (baseResp.errCode) { case BaseResp.ErrCode.ERR_OK: // 登录成功的回调 //登录成功后resp的返回类型为 SendAuth.Resp if (baseResp instanceof SendAuth.Resp) { String code = ((SendAuth.Resp) baseResp).code; RequestParams params = new RequestParams(); params.put("appid", WxUtils.getAppId()); params.put("secret", WxUtils.getSecret()); params.put("code", code); params.put("grant_type", "authorization_code"); HttpUtil.get(url, params, WXEntryActivity.this, new BaseHttpHandler() { @Override public void onSuccess(Object json) { LogUtil.e("获取到的token=" + json.toString()); Gson gson = new Gson(); WxBean bean = gson.fromJson(json.toString(), WxBean.class); String token = bean.getAccess_token(); String openId = bean.getOpenid(); getUserInfo(token, openId); finish(); } @Override public void onTimeout() { finish(); } }); } else {//否则是分享的回调 ToastUtil.showToast(this, "分享成功"); finish(); } break; case BaseResp.ErrCode.ERR_USER_CANCEL: ToastUtil.showToast(WXEntryActivity.this, "用户取消"); finish(); } }