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.
All rights reserved.