qq互联AndroidSDKV20接口调用说明Word下载.docx
《qq互联AndroidSDKV20接口调用说明Word下载.docx》由会员分享,可在线阅读,更多相关《qq互联AndroidSDKV20接口调用说明Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
shareToQzone(Activityactivity,Bundleparams,IUiListenerlistener)
调用以上SDK提供的接口后,会弹出相应的界面,以完成后续的操作。
接口的参数说明如下:
参数
参数说明
activity
调用者activity。
应用使用SDK时,会从应用自己的Activity跳转到SDK的Activity,应用调用SDK的Activity即为这里的调用者activity。
scope
应用需要获得哪些接口的权限,由“,”分隔(仅login接口需要)。
params
以K-V组合的字符串参数。
Params是一个Bundle类型的参数,里面以键值对(Key-value)的形式存储数据,应用传入的邀请分享等参数就是通过这种方式传递给SDK,然后由SDK发送到后台。
listener
回调接口,IUiListener实例。
1.1登录/校验登录态
通过调用Tencent类的login函数发起登录/校验登录态。
该接口具有两个作用,1.如果开发者没有调用mTencent实例的setOpenId、setAccessToken接口,则该接口执行正常的登录操作;
2.如果开发者先调用mTencent实例的setOpenId、setAccessToken接口,则该接口执行校验登录态的操作。
如果登录态有效,则返回成功给app,如果登录态失效,则会自动进入登录流程,将最新的登录态数据返回给app。
建议开发者在每次app启动时调用一次该接口(先调用setOpenId、setAccessToken),以确保每次打开app时用户都是有登录态的。
调用登录接口的示例代码如下:
privatevoiddoLogin(){
IUiListenerlistener=newBaseUiListener(){
@Override
protectedvoiddoComplete(JSONObjectvalues){
updateLoginButton();
}
};
mTencent.login(this,SCOPE,listener);
}
调用登录接口的参数说明如下:
应用需要获得哪些接口的权限,由“,”分隔。
例如:
SCOPE=“get_simple_userinfo,add_topic”;
所有权限用“all”
1.2注销
通过调用Tencent类的logout函数注销。
调用注销接口的示例代码如下:
mTencent.logout(this);
调用注销接口的参数说明如下:
context
调用者的context。
Context是上下文的意思,每一个Activity都有对应的Context。
示例中的this为调用者Activity对应的Context。
1.3设置QQ头像
特别声明:
出于信息安全的考虑,本接口仅对可信赖的合作应用开放。
已经成功接入“QQ登录”的应用需提交申请以获取访问本接口的权限。
设置QQ头像使用Tencent类中的setAvatar接口,setAvatar使用了一个Activity来让用户调整图片,因此要在项目的AndroidManifest.xml中增加一个Activity配置,如下:
<
application>
<
activityandroid:
name="
com.tencent.plus.ImageActivity"
/>
/application>
设置头像失败将在SDK自带的界面上提示用户重试,但可以指定设置成功后将跳转到哪个Activity。
若不指定,则返回上一个Activity。
setAvatar的接口格式如下:
◆setAvatar(Activityactivity,Bundleparams)
◆setAvatar(Activityactivity,Bundleparams,IUiListenerlistener)
◆setAvatar(Activityactivity,Bundleparams,IUiListenerlistener,intenterAnim,intexitAnim)
注意:
1.V1.6版本支持传入IUiListener,用于获得设置头像成功或者出错的通知。
如果传入了IUiListener,则无需在Params中传入ReturnActivity,跳转逻辑在IUiListener#onComplete的实现中完成;
2.setAvatar(Activityactivity,Bundleparams)已经不推荐使用,请更换为支持IUiListener的版本;
3.V1.6版还提供了切换动画的支持(enterAnim和exitAnim),其值为动画的资源文件(XML),可以查看Demo文件夹中的/res/anim/zoomin.xml和zoomout.xml获得详细示例。
setAvatar的调用示例如下:
privatevoidonClick(){
if(mTencent.isSessionValid()&
&
mTencent.getOpenId()!
=null){
Bundleparams=newBundle();
params.putString(Constants.PARAM_AVATAR_URI,
"
xxx"
);
params.putString(Constants.PARAM_AVATAR_RETURN_ACTIVITY,"
com.tencent.sample.ReturnActivity"
//注意:
SDK1.4不支持传入listener,该参数是V1.6新增的
mTencent.setAvatar(this,params,newBaseUiListener());
//指定切换动画的调用形式(V1.6新增)
mTencent.setAvatar(this,params,newBaseUiListener(),
R.anim.zoomin,R.anim.zoomout);
}
基本流程是:
(1)判断用户是否存在登录态并且是否获取了openid;
(2)创建一个Bundle,并填入必要参数;
(3)调用SDK中Tencent类的setAvatar方法,启动设置头像界面。
下面的表格是设置QQ头像API的params参数说明:
是否必传
类型
Constants.PARAM_AVATAR_URI
必传
String
将要设置为QQ头像的图片的本地路径,不支持网络图片,不支持动态图(gif),如果传入gif格式的图片,则只显示和使用第一帧的画面
Constants.PARAM_AVATAR_RETURN_ACTIVITY
可选
指定设置QQ头像成功后,将要跳转到的Activity,值为包括完整包名的Activity的类名字符串,默认将返回到上一个Activity
这是个V1.3的旧参数,不建议再使用,如果要接收设置头像的回调,请传入IUiListener参数
1.4增量授权
通过调用Tencent类的reAuth函数进行授权。
当应用调用API返回没有权限(返回码为100030)时,可以调用增量授权函数让用户重新进行授权。
调用时所使用的参数跟登录是一样的,只是在授权页面那里只会显示要增量授权的项,即所传的scope参数。
这里的scope参数跟登录时所传的scope参数作用是不一样的,这里只需要传需要增量授权的项,即用户之前没有授权的项。
一般来说,就是前面调用失败的那个API的scope。
调用增量授权的示例代码如下:
//调用"
add_topic"
API的listener
IUiListenerlistener=newBaseUiListener(){
@Override
protectedvoiddoComplete(JSONObjectresponse,Objectstate){
intret=response.getInt("
ret"
if(ret==100030){
//这里进行增量授权的操作
if(mNeedReAuth){
Runnabler=newRunnable(){
publicvoidrun(){
mTencent.reAuth(MainActivity.this,"
newBaseUiListener());
}
};
MainActivity.this.runOnUiThread(r);
}
};
调用增量授权接口的参数说明如下:
应用需要用户增量授权权限,由“,”分隔。
1.5分享消息到QQ
分享消息到QQ的接口,可将新闻、图片、文字等分享给QQ好友、群和讨论组。
Tencent类的shareToQQ函数可直接调用,不用用户授权。
调用将打开分享的界面,用户选择好友、群或讨论组之后,点击确定即可完成分享,并进入与该好友进行对话的窗口。
本接口支持3种模式,每种模式的参数设置不同,下面分别进行介绍:
(1)分享图文消息
调用分享接口的示例代码如下:
privatevoidonClickShare(){
finalBundleparams=newBundle();
params.putInt(Tencent.SHARE_TO_QQ_KEY_TYPE,Tencent.SHARE_TO_QQ_TYPE_DEFAULT);
params.putString(Tencent.SHARE_