Android第三方登录——QQ

一、首先需要在官网上面注册开发者账号:https://connect.qq.com/index.html

二、创建应用,这里有一个需要注意的东西,创建应用是需要一个应用名称,应该是应用名称被别人用过了,所以申请创建应用的时候一直审核不通过。

三、拿到应用的AppId就可以进行开发。

四、导入两个jar包

 

 五、配置Android项目清单

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.QQLoginDemo">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <!-- QQ三方登录 -->
    <activity
        android:name="com.tencent.tauth.AuthActivity"
        android:launchMode="singleTask"
        android:noHistory="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!--注意需要替换你的app对于的id-->
            <data android:scheme="tencent101993050" />
        </intent-filter>
    </activity>
    <!-- QQ分享配置 -->
    <activity
        android:name="com.tencent.connect.common.AssistActivity"
        android:screenOrientation="behind"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:configChanges="orientation|keyboardHidden" />
</application>

 六、在Activity的oncreate()方法初始化SDK

 七、添加按钮点击事件

public void login(){
    if (!mTencent.isSessionValid()){
        mTencent.login(MainActivity.this, "all", new IUiListener() {
            @Override
            public void onComplete(Object o) {
                Log.d("data:",o.toString());
                data.setText(o.toString());
                UserInfo info = new UserInfo(MainActivity.this,Tencent.createInstance("101993050", getApplicationContext()).getQQToken());
                info.getUserInfo(new IUiListener() {
                    @Override
                    public void onComplete(Object o) {
                        Log.d("info:",o.toString());
                    }

                    @Override
                    public void onError(UiError uiError) {

                    }

                    @Override
                    public void onCancel() {

                    }
                });
            }

            @Override
            public void onError(UiError uiError) {

            }

            @Override
            public void onCancel() {

            }
        });
    }
}

终:到这里已经可以使用QQ授权登录获取用户的详细信息了。

还有一点注意的点:官方的文档只有一个jar包,用那个jar包做开发的话是有问题的,这时需要导入上图的两个jar包;找不到上述包可私聊,我发你。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值