设置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拼接顺序是按第三方传过来的图片数组顺序