分享到 :

设置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
paramsKV参数对,具体取值见下表
listener回调
enterAnim进入动画id
exitAnim退出动画id

    下面的表格是设置QQ头像API的params参数说明:

注意:

  1. 1.从V1.6版本支持传入IUiListener,用于获得设置头像成功或者出错的通知。通过传入的IUiListener,指定设置成功后跳转的Activity,跳转逻辑在IUiListener#onComplete的实现中完成;
  2. 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方法,启动设置头像界面。

返回顶部