(小白AS学习小结)调用QQ进行第三方登录(基于Android2022.3.1和SDK3.5.16)

前言: 

        不管是什么类型的应用开发,难免需要设计登录注册的功能,而调用QQ进行第三方登录无疑是个既省时又省力的方法。当然在调用的过程中难免会因为开发环境的不同而出现许多问题。

        我在开发这个demo的时候给我最大的感受就是,整个过程中最容易出现问题的不是代码,而在于环境的配置上。

 一、配置SDK

1、首先需要去QQ互联官网申请成为个人开发者并获取相应的APPID:QQ互联官网首页

 获取包名和签名的方式:(小白AS学习小结)调用QQ进行第三方登录(基于Android2022.3.1和SDK3.5.16)( 获取应用签名)-CSDN博客

2、在QQ互联官网的文档资料中下载SDK包

3、找到下载好的jar包

        

        这是我的文件中的路径,如有不同,以自己文件位置为准,jar包的名字大致就是open_sdk_xxx_lite.jar。

4、先将文件结构改为project

 将jar包复制到项目的libs里(这里我已经添加过了)

        我在网上搜素资料的时候发现,在旧版本的SDK包中还需要复制其他文件,但我用的版本只需要将这一个包放进去就行。

5、将jar包添加到依赖中

        这是QQ互联的帮助手册中的方法,但是无论是这条语句还是在网上查找的其他语句都报错。

        所以这里我用了一个特别的方法,右键点击jar包,点击Add As Library就行了,添加后的依赖可以在build.gradle中查看。

二、代码

1、配置Androidmanifest.xml文件

<queries>
    <package android:name="com.tencent.mobileqq" />
</queries> <!-- qq登陆所需 -->
<!-- qq登陆所需 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_TASKS"/>/>

<application
        ...
        ...
 <!-- 注册SDKActivity -->

        <activity

            android:name="com.tencent.tauth.AuthActivity"

            android:launchMode="singleTask"

            android:noHistory="true"
            android:exported="true">

            <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 -->

            </intent-filter>

        </activity>

        <activity android:name="com.tencent.connect.common.AssistActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

    </application>

      

注意:在配置的时候可能会出现报错,一般是因为代码冲突,简单来说就是有重复代码。

具体问题可以点击这里查看报错原因。

 2、代码部分就不多赘述,详细代码可以看这位大佬的Android实现第三方登录_android 免费 第三方登录-CSDN博客

要注意的是,在导入这个包时,我在build.gradle中添加了这句依赖任然报错。有大佬知道是什么原因吗?

    //noinspection GradleCompatible
    implementation("com.android.support:appcompat-v7:28.0.0")

所以我在导包的时候将圈出来的代码用下面的代码进行了替换。

3、在构建程序的时候,出现了这样的问题

        在查找资料后发现好像是编译环境发生了冲突,具体解决方案就是添加如下的依赖(这个问题可能是由于安装编译环境时出现了问题,如果你没有遇到这个问题可以不用管)

implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))

小结:这是我在学习的过程中初次尝试开发,这篇文章写的是我在开发过程中遇到的真实问题,如有错误或是不妥还请各位大佬谅解并指出。

  • 25
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值