安卓QQ第三方登陆

1、下载sdk:https://wiki.open.qq.com/wiki/mobile/SDK下载
2、将open-sdk.jar放到libs中 添加依赖implementation fileTree(dir: 'libs', include: '*.jar')
3.配置AndroidManifest

<activity
       android:name="com.tencent.tauth.AuthActivity"
       android:noHistory="true"
       android:launchMode="singleTask" >
    <intent-filter>
           <action android:name="android.intent.action.VIEW" />
           <category android:name="android.intent.category.DEFAULT" />
           <category android:name="android.intent.category.BROWSABLE" />
           <data android:scheme="tencentAppId" />//把AppId替换成你的AppId
    </intent-filter>
 </activity>
<activity
       android:name="com.tencent.connect.common.AssistActivity"
       android:configChanges="orientation|keyboardHidden"
       android:screenOrientation="behind" 
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

4、权限

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

5、初始化

//把AppId替换成你的AppId
Tencent  mTencent = Tencent.createInstance("AppId",  getApplicationContext(),"");

6、登陆

  mTencent.login(this, "all", new LoginUiListener());

7、授权登录监听

private class LoginUiListener implements IUiListener {
    
    @Override
    public void onComplete(Object response) {
        //获取openid
        try {
            openid= ((JSONObject) response).getString("openid");
            access_token = ((JSONObject) response).getString("access_token");
            expires_in = ((JSONObject) response).getString("expires_in");
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onError(UiError uiError) {

    }

    @Override
    public void onCancel() {

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

8、 调用QQ注销接口

mTencent.logout(this);

9、获取QQ用户名称、性别等信息

     QQToken qqToken = mTencent.getQQToken();
            mTencent.setOpenId(openid);
            mTencent.setAccessToken(access_token, expires_in);
            UserInfo info = new UserInfo(getApplicationContext(), qqToken);
            info.getUserInfo(new IUiListener() {
                @Override
                public void onComplete(Object o) {
                    String nickname = ((JSONObject) o).optString("nickname");
                    String gender= ((JSONObject) o).optString("gender");
                }

                @Override
                public void onError(UiError uiError) {

                }

                @Override
                public void onCancel() {

                }
            });

Application节点下添加

<uses-library
            android:name="org.apache.http.legacy"
            android:required="false" />

10、QQ登陆官方文档

https://wiki.open.qq.com/index.php?title=Android_SDK环境搭建
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值