一、友盟分享的使用
二、友盟登陆的使用
三、友盟分享组件90%常见问题汇总
** 因为官网论坛每一条都要点个链接进去,好麻烦,我就集中在这篇博客里面了,方便查看。 **
(一) QQ\Qzone
1. 如何分享大图\纯图片
不传递withText参数,分享类型即为纯图片类型
2. QQ分享成功却回调取消
1.AndroidManifest配置错误(图中箭头处应为你qq平台申请的AppId)
2.你是横屏应用,注意上图中AssistActivity的configChanges的配置,你的配置要与上图一致.
3.文字或图片分享到QQ说说有时回调取消有时回调成功,这是QQsdk的一个官方bug,暂未修复
4.如果配置正确,但是部分机型仍然回调取消,需要检查自己进行分享的activity,这个activity的启动模式不能是singleInstance**
3. 分享成功但回调提示分享取消
出现这个问题的原因在于QQ部分的回调没有正确配置,检查下面几点:
1. Android manifest xml正确配置
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<intent-filter>
<action
android:name="android.intent.action.VIEW" />
<category
android:name="android.intent.category.DEFAULT" />
<category
android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent100424468" />
</intent-filter>
</activity>
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
同时注意<data android:scheme="tencent100424468" />这里的APPid需要替换成你代码里配置的APPid,
还有PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
这两处的APPid应该是一致的,同时注意不要删掉tencent前缀
2. 注意实现onActivityresult方法
在分享所在的Activity(不能复写在fragment)里实现下面的方法onActivityResult();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
}
4. QQ分享内容只显示一条链接
QQ分享网页到我的电脑,或者在PC端查看分享内容只会显示一个链接,所有的分享内容和行为,请保证在手机端查看
5. QQ/Qzone分享成功但没有接收到消息
1.分享内容中包含敏感词汇,如红包等,切换其他分享文本测试
2.QZONE由于多次分享同一内容,可能会被过滤掉
6. QQ登录获取的unionID为空
Android端,通过UShare提供的QQ登录功能可以实现获取unionID,以便实现同开发者账号下多个APP间账号ID打通,
但必须先通过邮件向腾讯官方申请,获取权限,否则unionID无法获取,申请邮箱:connect@qq.com
7. QQ分享图片到好友失败或debug模式提示缺少权限
1.分享的是本地图片,没有加读写权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
2.没有sd卡,qq不能分享本地图片
3.如果使用 targetSdkVersion 23或23以上,需要做6.0适配,手动获取WRITE_EXTERNAL_STORAGE权限,否则QQ不能进行图片分享
8. QQ登录提示该应用非官方正版应用,错误码100044
导出的apk签名、包名与之前腾讯开放平台上传的apk不匹配,更换签名文件重新打包,或在腾讯开放平台重新上传apk并通过审核后测试
9. QQ没有回调
如果QQ分享或授权没有回调,需要检查是否在进行分享操作的Activity中加入以下代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode,resultCode,data);
}
10. Tencent变量初始化失败
1.你可以开启debug模式根据提示修改AndroidMainfest
2.检查你的AndroidManifest,是否配置了QQ相关的Activity,你先要确定你用的是精简版还是完整版,
两个版本的配置有所不同,如果混用,也会报出该问题
精简版:
<activity
android:name="com.umeng.qq.tencent.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent100424468" />
</intent-filter>
</activity>
<activity
android:name="com.umeng.qq.tencent.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="orientation|keyboardHidden|screenSize">
</activity>
注意,其中tencent100424468中的100424468要替换成你qq的appid
完整版:
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent100424468" />
</intent-filter>
</activity>
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="orientation|keyboardHidden|screenSize"/>