友盟第三方登录关于用户切换的问题

 private void authorization(SHARE_MEDIA share_media) {
        final UMShareConfig config = new UMShareConfig();
        config.isNeedAuthOnGetUserInfo(true);
        UMShareAPI umShareAPI = UMShareAPI.get(this);
        umShareAPI.setShareConfig(config);//如果不添加以上这几行会造成用户切换会捕获不到用户已切换账号,获取到的OpenID也会重复一致
        UMShareAPI.get(this).getPlatformInfo(this, share_media, new UMAuthListener() {
            @Override
            public void onStart(SHARE_MEDIA share_media) {
                Log.i(TAG, "onStart " + "授权开始");
            }

            @Override
            public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
                String openid = map.get("openid");
                Log.i(TAG, openid + "用户信息");
                // Toast.makeText(getApplicationContext(), "Openid=" + map.get("openid") + ",gender=" + gender, Toast.LENGTH_SHORT).show();
                //拿到信息去请求登录接口。。。
            }

            @Override
            public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
                RxToast.info("授权失败,请重试!");
            }

            @Override
            public void onCancel(SHARE_MEDIA share_media, int i) {
                Log.i(TAG, "onCancel " + "授权取消");
            }
        });
    }

你可能感兴趣的:(移动端)