为了账号安全,请及时绑定邮箱和手机立即绑定

使用友盟分享和登陆以及使用时要注意的坑

标签:
设计模式

一、友盟分享的使用

二、友盟登陆的使用

三、友盟分享组件90%常见问题汇总

** 因为官网论坛每一条都要点个链接进去,好麻烦,我就集中在这篇博客里面了,方便查看。 **

(一)   QQ\Qzone

1.  如何分享大图\纯图片

    不传递withText参数,分享类型即为纯图片类型

2. QQ分享成功却回调取消

1.AndroidManifest配置错误(图中箭头处应为你qq平台申请的AppId)

webp

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"/>

         



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
4484
获赞与收藏
456

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消