本项目集成封装了QQ第三方登录,大大减少了开发者编写【调用QQ登录】功能的代码量
你可以点击这里下载 腾讯官方QQ-SDK-JAR 包 (下载完成后只需要解压出 libs 文件夹里的 jar文件 即可)
也可以直接使用本项目 qq_sdk_jar
文件夹里的 jar包
(点击直接下载) (这个jar包为腾讯官方于2018年5月25日更新的版本,点击这里可以查看 最新官方QQ-SDK包版本 )
这里给出一种引入Jar包的方法(其他方法也可以)
以Android Studio为例:
将下载好的jar包放到你的安卓项目的
app\libs
文件夹下
在 Android Studio 中点击
File->Project Structure
,接下来选择app->Dependencies
,这时候点击右上角的+
号,选择Jar dependency
,最后选择上一步libs
文件夹里的jar包
添加即可
AndroidManifest.xml
文件的 <application></application>
中
(注意将代码里的app_id完善): <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" />
<!-- 这地方需要用你在开放平台申请的appid:tencent+appid -->
<data android:scheme="tencent00000000" />
</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" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
下载本项目的 QQLoginManager.java
文件,将其复制到自己的安卓项目中
按照下列示例代码,模仿其添加到自己的Activity类中,之后你就可以在需要的地方(如点击某个按钮后)调用函数:launchQQLogin()
(如:qqLoginManager.launchQQLogin()
),即可唤起QQ登录
public class MainActivity extends AppCompatActivity implements QQLoginManager.QQLoginListener {
private QQLoginManager qqLoginManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 实例化QQLoginManager, 传入你的app_id
qqLoginManager = new QQLoginManager("app_id", this);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
// 回调
qqLoginManager.onActivityResultData(requestCode, resultCode, data);
}
@Override
public void onQQLoginSuccess(JSONObject jsonObject, QQLoginManager.UserAuthInfo authInfo) {
// 登录成功
}
@Override
public void onQQLoginCancel() {
// 登录取消
}
@Override
public void onQQLoginError(UiError uiError) {
// 登录出错
}
}
{
"open_id":当前登录QQ唯一标识,
"access_token": accessToken,
"expires_in": accessToken的有效时间,
"nickname":昵称,
"gender":性别,
"province":所在省份,
"city":所在城市,
"year":出生年,
"constellation":星座,
"figureurl":30X30的头像URL,
"figureurl_1":50X50的头像URL,
"figureurl_2":100X100的头像URL,
"figureurl_qq_1":40X40的头像URL,
"figureurl_qq_2":100X100的头像URL,
"vip":是否为qq会员,
"level":qq会员等级,
"is_yellow_vip":是否为黄钻,
"yellow_vip_level":黄钻等级,
"is_yellow_year_vip":是否为黄钻年会员
}
int errorCode: 错误码,具体错误码请参考腾讯官方API文档
String errorDetail: 错误详情
String errorMessage: 错误信息
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。