前言
最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的。为了统一使用友盟的全家桶,所以三方分享和登录也就选择了友盟。
又应公司后台需要拿到微信每次登录的唯一code ,而友盟集成后已经把code拿去访问导致code失效
这里记录一下如何调用原生的 微信登录获取code 。
1.在Activity内注册
@Override
public void initData() {
//微信原生登录 注册
mApi = WXAPIFactory.createWXAPI(this, "wx7ed0b98427******"); // 参数是:appid
mApi.registerApp("wx7ed0b9842******");
}
2.微信原生调用
private void microLetterNative() { //微信原生登录
SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo"; //随便写
req.state = "wechat_sdk_juyoo"; //随便写
mApi.sendReq(req);
}
3.在微信回调的 WXEntryActivity里获取code
public class WXEntryActivity extends WXCallbackActivity implements IWXAPIEventHandler ,HttpCallback {
@Override
public void onReq(BaseReq req) {
super.onReq(req);
}
@Override
public void onResp(BaseResp resp) {
super.onResp(resp);
SendAuth.Resp resp1 = (SendAuth.Resp) resp;
final String code = resp1.code;
//TODO:这里便可以拿code去访问你的后台了
}
}