为知乎图片选择器Matisse适配Android11的分区存储

您所在的位置:网站首页 适配安卓10 为知乎图片选择器Matisse适配Android11的分区存储

为知乎图片选择器Matisse适配Android11的分区存储

2024-06-28 17:45| 来源: 网络整理| 查看: 265

知乎的Matisse没有适配Android 10和Android 11。Android 10和Android 11启用了分区存储,Android10 在AndroidManifest.xml的Android标签内设置android:requestLegacyExternalStorage="true"后才可以访问沙盒路径下的文件。Android 11已经强制启用分区存储啦,所以需要进行适配。

Android10不在AndroidManifest.xml的Android标签内设置android:requestLegacyExternalStorage="true"的话会存在拍照完成后点击勾勾不响应的情况如果不适配Android 11会出现无法启动系统拍照。

那么现在我们就开始对Matisse Android 11分区存储进行适配吧 1.将Environment.getExternalStorageDirectory()换成Context#getExternalFilesDir(String)(获取到 SDCard/Android/data/你的应用的包名/files/ 目录,卸载应用的时候文件会被删除) 2.修改FileProvider的xml文件,将external-path改为external-files-path

path解释root-path设备的根目录new File("/")files-pathcontext.getFilesDir()cache-pathcontext.getCacheDir()external-pathEnvironment.getExternalStorageDirectory()external-files-pathcontext.getExternalFilesDirs()external-cache-pathcontext.getExternalCacheDirs()

具体适配见:https://github.com/iamzhangjunhui/Matisse



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3