目录
- 下载SDK
- 导入SDK
- 使用
一、下载SDK
https://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
二、导入SDK
1.将下载好的jar包放到自己项目的libs下,示例图:
2.将jar包引入到build.gradle中,示例代码:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation files('libs/open_sdk_3.5.1.152_rd6ba70e_lite.jar') // 引入项目中使用
}
3.配置注册清单
引入权限和相应代码,如下所示:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application>
<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="tencent你的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" />
<application>
其中,scheme的value填写你申请下来的AppId,至此,SDK集成完成。
三、使用
第一步:构建实体类
private val mTencent = Tencent.createInstance("申请的AppId", BaseApplication.instance)
BaseApplication.instance是全局的上下文,根据自己项目传递上下文即可
第二步:构建分享回调
private val mIUiListener = object : IUiListener {
override fun onComplete(p0: Any?) {
// 分享成功
}
override fun onCancel() {
// 取消分享
}
override fun onWarning(p0: Int) {
}
override fun onError(p0: UiError?) {
// 分享失败
}
}
第三步:构建分享结果返回
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
// 以下代码算是固定写法,复制即可
if (requestCode == Constants.REQUEST_QQ_SHARE){
Tencent.onActivityResultData(requestCode, resultCode, data, mIUiListener)
}
}
第四步,发起分享:
1.分享图文
val params = Bundle()
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE,QQShare.SHARE_TO_QQ_TYPE_DEFAULT) // 固定写法
params.putString(QQShare.SHARE_TO_QQ_TITLE, "") // 标题,不能为空字符串
params.putString(QQShare.SHARE_TO_QQ_SUMMARY, "") // 描述,可以是空字符串
params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, "") // 分享链接
params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL, "") // 链接的图片,传空字符串默认是App图标
mTencent.shareToQQ(this, params, mIUiListener) // 发起分享