分享到 :

设置QQ表情

A、接口使用场景
    使用Tencent类中的setEmotions接口设置收藏图片到QQ表情。

B、接口说明
    特别声明:出于信息安全的考虑,本接口仅对可信赖的合作应用开放。已经成功接入“QQ登录”的应用需提交申请以获取访问本接口的权限。
    设置QQ头像使用Tencent类中的setEmotions接口接口,这个功能需要手Q版本在8.0以上才支持,低于手Q 8.0版本时调用该接口会弹Toast提示用户。调用接口前,需要确保SDK的AssistActivity添加到项目的AndroidManifest.xml中,如下:

<application>
        <activity
          android:name="com.tencent.connect.common.AssistActivity"
          android:configChanges="orientation|keyboardHidden|screenSize"
          android:screenOrientation="behind"
          android:theme="@android:style/Theme.Translucent.NoTitleBar" />
</application>

C、接口方法
    public void com.tencent.tauth.Tencent.setEmotions(Activity activity, ArrayList<Uri> list, IUiListener listener)

D、接口参数
    下面的表格是设置QQ动态头像API的params参数说明:

参数参数说明
activity调用者activity。应用使用SDK时,会从应用自己的Activity跳转到SDK的Activity,应用调用SDK的Activity即为这里的调用者activity。
list表情的资源路径URI列表。
listener回调接口,IUiListener实例。

E、示例代码
    setEmotions的调用示例如下:

private void saveQQEmotion(){
    ArrayList<Uri> resultList = new ArrayList<Uri>();
    for (int i = 0; i < mPathList.size(); i++) {
        String strPath = path.toString();
        Uri path = mPathList.get(i);
        if(path!= null && !"null".equals(strPath)){
             resultList.add(path);
        }
    }
    if(resultList.size() > 0){
            MainActivity.mTencent.setEmotions(this,resultList,new BaseUIListener(this));
    }
}

F、限制与错误
    限制:这里接口限制,设置图片Uri不超过9张,每张不超过1M, 一共不能超过3M。
    回调方法:
    onActivityResult中,处理requestCode 为Constants.REQUEST_EDIT_EMOTION = 10109
    失败的参数值信息
     e.errorCode = -1
    1.网络错误
     e.errorMessage = "-10"
    2.其他错误
     100 // 超过最大上限
     102 // 重复收藏
     104 // 当前在收藏中
    其中e.errorMessage拼接顺序是按第三方传过来的图片数组顺序

返回顶部