设置QQ头像(废弃)
A、接口使用场景
使用Tencent类中的setAvatar接口设置QQ头像。
B、接口说明
特别声明:出于信息安全的考虑,本接口仅对可信赖的合作应用开放。已经成功接入“QQ登录”的应用需提交申请以获取访问本接口的权限。
设置QQ头像使用Tencent类中的setAvatar接口,setAvatar使用了一个Activity来让用户调整图片,因此要在项目的AndroidManifest.xml中增加一个Activity配置,如下:
<application> <activity android:name="com.tencent.plus.ImageActivity" /> </application> |
设置头像失败将在SDK自带的界面上提示用户重试,但可以指定设置成功后将跳转到哪个Activity。若不指定,则返回上一个Activity。
C、接口方法
public void com.tencent.tauth.Tencent.setAvatar(Activity activity, Bundle params, IUiListener listener)
public void com.tencent.tauth.Tencent.setAvatar(Activity activity, Bundle params, IUiListener listener, int enterAnim, int exitAnim)
D、接口参数
调用邀请接口的参数说明如下:
参数 | 参数说明 |
activity | 调用者所在Activity |
params | KV参数对,具体取值见下表 |
listener | 回调 |
enterAnim | 进入动画id |
exitAnim | 退出动画id |
下面的表格是设置QQ头像API的params参数说明:
注意:
- 1.从V1.6版本支持传入IUiListener,用于获得设置头像成功或者出错的通知。通过传入的IUiListener,指定设置成功后跳转的Activity,跳转逻辑在IUiListener#onComplete的实现中完成;
- 2.从V1.6版还提供了切换动画的支持(enterAnim和exitAnim),其值为动画的资源文件(XML),可以查看Demo文件夹中的 /res/anim/zoomin.xml和zoomout.xml获得详细示例。
E、示例代码
setAvatar的调用示例如下:
private void onClick() { if (mTencent.isSessionValid() && mTencent.getOpenId() != null) { Bundle params = new Bundle(); params.putString(SocialConstants.PARAM_AVATAR_URI, "xxx"); //注意:SDK 1.4 不支持传入listener, 该参数是V1.6新增的 mTencent.setAvatar(this, params, new BaseUiListener()); //指定切换动画的调用形式(V1.6新增) mTencent.setAvatar(this,params,new BaseUiListener(), R.anim.zoomin, R.anim.zoomout); } } |
基本流程是:
(1)判断用户是否存在登录态并且是否获取了openid;
(2)创建一个Bundle,并填入必要参数;
(3)调用SDK中Tencent类的setAvatar方法,启动设置头像界面。