【android】第三方集成之——QQ登录,微博登陆

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/da_caoyuan/article/details/79515736

网上查阅资料,还是有很多优秀的相关博客的。详细步骤,在这里就不在说了,再次着重说一下,集成流程和注意事项。

QQ登陆

大概流程:

  1. 首先需要去qq的开发者平台,创建该app应用,获取appId和appKey。
  2. 下载sdk。
  3. 创建mTencent 实例
  4. 在需要登陆地方,吊起qq客户端登陆界面
  5. 创建 类 BaseUiListener implements IUiListener
  6. 在onComplete 回调中,获取token等关键信息。
  7. 用mTencent 实例set token和opentId。如下:
  8. mTencent.setAccessToken(token, expires);
    mTencent.setOpenId(openId);

最后,调用该方法获取用户信息:

private void updateUserInfo() {
        if (mTencent != null && mTencent.isSessionValid()) {
            IUiListener listener = new IUiListener() {
                @Override
                public void onError(UiError e) {
                }
                @Override
                public void onComplete(final Object response) {
                    Message msg = new Message();
                    msg.obj = response;
                    Log.i("tag", response.toString());
                    msg.what = 0;
                    mHandler.sendMessage(msg);
                }
                @Override
                public void onCancel() {
                }
            };
            userInfo = new UserInfo(this, mTencent.getQQToken());//关键代码
            userInfo.getUserInfo(listener);//关键代码
        }
    }

注意事项:

1:去 QQ互联,看开发文档。
2:关键要看官方的demo代码,文档中的着重看开发流程,代码要只供参考。完整代码要看官方的damo中的代码。
3:在相应的活动中 onActivityResult 回调中也要添加相应代码。如下:

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Tencent.onActivityResultData(requestCode,resultCode,data,new BaseUiListener());
    }

4:在app退出的地方,不要忘了注销第三方登陆:

mTencent.logout(this);//注销登录

微博登陆

  1. 首先需要去qq的开发者平台,创建该app应用,获取appId和appKey。
  2. 下载sdk。需要gradle远程依赖的,要进行依赖。
  3. 获取相应实例。(mSsoHandler )
  4. 吊起客户端登陆界面
  5. 在回调方法中,获取token等关键参数。
  6. 根据token等参数获取微博个人资料。

注意事项:

1:关键要看官方的demo代码,文档中的着重看开发流程,代码要只供参考。完整代码要看官方的damo中的代码。
2:在相应的活动中 onActivityResult 回调中也要添加相应代码。如下:

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
       ...
           ....
        //sina login
        if(mSsoHandler!=null){
            mSsoHandler.authorizeCallBack(requestCode,resultCode,data);
        }
    }

3:在app退出的地方,不要忘了注销第三方登陆


相关博客:

Android开发第三方登录–QQ登录

Android开发第三方登录–微博登录

猜你喜欢

转载自blog.csdn.net/da_caoyuan/article/details/79515736