12/12/2024 11:37:55

问题描述

Android Q系统无SD卡权限,第三方应用在分享图片到手Q时,如果分享的SD卡路径,会导致分享失败。

问题原因

Android Q以后,由于应用在存储权限的限制,如无SD卡权限,第三方应用在分享图片到手Q时,如果分享的是SD卡路径,会导致分享失败。

解决方案

手Q互联 opensdk 从3.3.8(MSDK对应版本分别为:V5 5.10.000、V3 3.3.12a)版本开始,分享功能支持通过FilePorvider 分享到手Q。通过这种分享方式,即便手Q在无SD卡权限的情况下,也可以访问第三方应用分享的图片。

FileProvider配置

<provider android:authorities="com.example.wegame.QQSDKFileProvider"
           android:name="com.tencent.gcloud.msdk.common.QQSDKFileProvider"
           android:exported="false"
           android:grantUriPermissions="true" >
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
                       android:resource="@xml/file_paths"/>
</provider>

在 res/xml 目录下新增 file_paths.xml 文件,如果res目录下没有xml目录则需要新增一个 xml 目录,文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-files-path name="opensdk_external" path="Images/tmp"/>
    <root-path name="opensdk_root" path=""/>
</paths>

备注

qq互联关于上述分享内容权限适配说明:https://wiki.connect.qq.com/%E5%88%86%E4%BA%AB%E5%8A%9F%E8%83%BD%E5%AD%98%E5%82%A8%E6%9D%83%E9%99%90%E9%80%82%E9%85%8D



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""