效果:红色框框
image.png
各位开发者:
最新版本(7.0.13)的微信 SDK 已经适配使用FileProvider的方式来进行消息分享。
如果分享的消息中涉及文件路径(如图片类型消息),建议开发者针对Android 7.0版本及以上设备,判断微信版本支持(判断方法见后文【微信版本支持】一节)的情况下,更新为FileProvider的方式进行分享。
以下是具体的适配说明。
使用FileProvider
配置
在项目的AndroidManifest.xml添加相关配置,示例如下:
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_paths" />
// ${applicationId}为你的应用包名
在res/xml目录(如果没有xml目录,则新建一个)下,添加文件file_provider_paths.xml,内容如下:
external-files-path表示通过 Context.getExternalFilesDir(null) 接口获取到的目录下的文件才可被共享,其他未配置的路径均不可被分享。同样的节点可以配置多个,以支持多个不同的子目录,如下所示:
paths内部还支持节点配置其他的路径,比如:
files-path,对应于 Context.getFilesDir() 获取到的目录
cache-path,对应于 Context.getCacheDir() 获取到的目录
...
还有一些其他可配置的路径,开发者可自行了解使用。