Android_SDK常见问题
1. 返回码说明
使用SDK时,所有结果都会通过回调返回给应用。在回调的结果中,会包含每次调用结果的返回码。正常情况下返回码为0,表示调用成功。如果返回码不为0,说明调用出错,需要根据返回码的值来定位错误原因。
常用返回码与错误信息的对照,如下表所示:
返回码< | 含义说明 |
---|---|
-30001 | 由于网络质量抖动引起,如果持续时间较长,或发生概率比较高,请直接联系技术支持(联系方式: toddzhao@tencent.com)。 |
100030 | 用户未对应用进行授权,需要引导用户重新登录授权,并且在登录的Scope参数里,加上相应的API名称(请参考API列表)。 所有的API都必需经过QQ互联对应用授权),用户对应用授权后才可以调用。 |
100014 | access_token过期,目前支持的access_token有效期为60天,需要重新走登录流程,获取新的access_token。 后期也可以使用Refresh Token来获取新的access_token(该功能即将上线) |
100015 | access_token失效。要重新走登录流程,获取新的access_token。 产生该错误有两个原因: 1. 用户在QQ空间里取消了对应用的授权,会导致当前保存到应用里的AccessToken被废除掉。 2. 用户在不同的设备上进行了QQ登录,导致在原来设备上的保存的AccessToken被废除掉。 |
100016 | access_token校验失败。建议先重新走登录流程来换取新的access_token,使用新的access_token仍然无法通过校验,请通过企业QQ联系技术支持(号码:800030681。直接在QQ的“查找联系人”中输入号码即可开始对话)。 |
更多返回码与错误信息的对照说明,请参考《公共返回码说明》文档。
2. 混淆说明
如果应用需要混淆代码,为了保证SDK的正常使用,建议不要混淆SDK的jar包,如果仍要混淆,需要在混淆规则中加上下面几行配置:
-keep class * extends android.app.Dialog
编译时请选择Android SDK API Level 17或以上的版本,否则可能会导致混淆失败,出现下面的错误:
3. 授权相关
应用调用OpenAPI时,需要哪些授权?
应用调用OpenAPI时,需要有相应的授权后才能调用,授权包括:
(1) 应用调用OpenAPI的授权。
有些OpenAPI仅对可信赖的合作应用开放,调用这些OpenAPI时需要提交申请以获得访问权限。需要申请授权的API信息,请参见《API列表》。
(2) 登录用户对应用的授权
如果应用调用接口是返回100030的错误信息,说明应用有该OpenAPI的调用权限,但并未申请用户授权。请重新引导该用户走登录授权流程,并在scope参数里加上需要用户进行授权的OpenAPI。如果无法确认有多少OpenAPI需要用户授权,可以直接在scope参数里填写”all”来表示需要用户授权所有OpenAPI。
4. Andriod_SDK_相关问题
4.1 只有java开发的应用可以使用本SDK吗?非原生开发的应用可以使用吗?
目前我们提供了Android的SDK,只有java开发的应用可以使用。
非原生开发的应用不可以使用本SDK(非原生开发应用:没有使用android sdk和java语言开发的应用,例如使用flash air技术开发的app,通过工具转换成android apk的应用)。
4.2 调用发送分享和应用分享有什么区别?
发送分享指的是V1.2版本的旧接口addShare,使用此接口不能@好友;V1.6新增的应用分享接口可以@好友。
4.3 如何获取Android app包名?
包名又称Package Name,是应用程序在android系统中的唯一ID标识,获取方法如下:
(1) 打开Eclipse,导入app 的工程,打开AndroidManifest.xml文件,展现如下:
其中,Package选项后面的com.yourcompan.yourappname就是包名,不同的app,packagename是不一样的。
(2) 如果是通过文本形式打开的AndroidManifext.xml,展现如下:
同样,package字段后面填写的值 com.yourcompan.yourappname 也是包名。
4.4 如何获取Android应用的APK文件签名?
(1)在您的android设备上安装最新版本的获取签名应用「应用下载」
(2)打开获取签名应用
请在您的android设备上打开应用列表,找到名为「Application Manage」的应用,并点击运行。
(3)找到您开发的应用,获取APK文件签名
4.5 在Android11上,第三方应用分享自己专属目录下的文件失败是什么原因?
第三方应用把图片放到自己的专属目录里,然后以文件路径形式调用QQ互联SDK来向QQ分享。在Android11上,QQ无法访问别的应用的专属目录,导致显示图片失败。
QQ互联SDK3.3.8版本支持通过FilePorvider分享文件到手Q。通过FilePorvider, 第三方应用可以赋予手Q读取分享的文件的权限。即便手Q在无SD卡权限的情况下,也可以访问第三方应用分享的图片。