美文网首页
友盟QQ分享问题总结

友盟QQ分享问题总结

作者: LvLz | 来源:发表于2018-12-24 22:40 被阅读0次

友盟的QQ分享相比较其他几个渠道更容易遇到问题,开发过程中遇到的问题一般主要为分享失败和分享后不执行回调方法两大类,下面逐一看一下各个问题的解决办法:

一.分享失败

分享失败主要有以下几个原因:
1.首先检查项目中Application中注册友盟时的APPID和AndroidManifest中所注册的APPID是否一致:

UMShareAPI.get(this);
PlatformConfig.setQQZone(APPID, APPKEY);
<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" />
    <!-- APPID,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的APPID -->
    <data android:scheme="tencentAPPID" />
    </intent-filter>
</activity>

2.QQ分享需要内存权限,这一点上QQ有点特殊~

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

所以在使用友盟QQ分享的时候,要先检查是否有内存读写权限:

//申请存储空间权限
private void requestPermissions() {
    try {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
            if (permission != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,}, PERMISSION_REQUEST_STOREAGE);
            } else {
                qqShare(SHARE_MEDIA.QQ);
            }
        } else {
            qqShare(SHARE_MEDIA.QQ);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    try {
        if (requestCode == PERMISSION_REQUEST_STOREAGE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                qqShare(SHARE_MEDIA.QQ);
            }
            return;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

3.如果分享的是链接则要注意链接地址
如果分享的链接是本地搭建的服务器地址,例如:"http://192.168.0.1:8000/xxx",这种链接有可能会造成分享失败。

所以分享链接最好用带域名的链接,不要使用带ip地址的链接.

二.分享后不执行回调方法:

1.在scheme中需要加上tencent
例如你申请的APPID为1110001111(应该都是11位数字~这里只是举个栗子),那么scheme="tencent1110001111"

<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" />
        <!-- 1110001111,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的 APP ID -->
        <data android:scheme="tencent1110001111" />
    </intent-filter>
</activity>

2.需要在使用QQ分享的对应Activity或者Fragment的onActivityResult()方法中加入友盟的回调方法,如下所示:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}

经过以上两步,应该可以解决不执行回调方法的问题~

希望可以帮到大家~如文中有错误请留言指正:一同交流,一起进步。

相关文章

  • 友盟QQ分享问题总结

    友盟的QQ分享相比较其他几个渠道更容易遇到问题,开发过程中遇到的问题一般主要为分享失败和分享后不执行回调方法两大类...

  • Android uemgn分享回调。细节

    一、友盟QQ分享不走回调方法 集成友盟社会化分享后,除了QQ、QQZone以外,其他分享都能正常显示分享成功、取消...

  • Android-->友盟分享/登录快速集成库

    友盟分享/登录快速集成库 友盟分享快速集成库 本库基于友盟6.4.4的分享模块版本开发. 暂时只集成了, QQ和微...

  • React-Native 集成友盟分享sdk2.x

    本文内容为集成微信和QQ分享 准备工作 友盟、QQ互联、微信开放平台,创建应用。 下载友盟sdk,如下图image...

  • Android 友盟分享的问题解决

    现在做的项目中集成了友盟分享,产品要求集成微信、朋友圈、QQ、QQ空间、短信这几个分享平台。按照友盟的文档集成一切...

  • Android 9.0 友盟QQ分享崩溃问题

    友盟官网讲解, Android 9.0上QQ分享报错解决方案1、确保App对应build.gradle脚本配置中 ...

  • 友盟分享和登录同时集成QQ问题

    最近搞友盟分享和登录同时集成(版本是5.2.1的),QQ总是出问题,分享提示未安装QQ客户端或者登录提示配置信息出...

  • iOS友盟分享快速集成

    下载友盟分享开发文档 【注】以下只集成QQ和WeChat 1. 注册账号获取相应配置的信息 友盟+ ---- 获取...

  • Could not find a storyboard name

    今天集成了友盟分享,但是分享面板一直出不来,然后查看了友盟的常见问题文档 根据友盟的文档,把Main.storyb...

  • android 友盟QQ分享失败

    QQ图片存储失败,请检查图片或者检查是否有读写权限 1.设置AndroidManifest.xml android...

网友评论

      本文标题:友盟QQ分享问题总结

      本文链接:https://www.haomeiwen.com/subject/jqvpxqtx.html