其他分享
首页 > 其他分享> > Android11适配-实现清理其他应用缓存目录

Android11适配-实现清理其他应用缓存目录

作者:互联网

在Android 11.0中开始强制执行分区存储,在10.0中可以使用

android:requestLegacyExternalStorage="true"

来拒绝分区存储,但在11.0中这种做法也不行了。那么该怎么办呢?正好这段时间我的手机更新到了Android11,先看我实现的效果~

在11.0中,不能访问 Android/data 以及 Android/obb 目录了,就连使用系统的的文件管理也不能访问了,会跳转一个新的应用来访问该目录如下图所示:

经我测试发现,Android 11 中访问除  Android/data 以及 Android/obb 以外的目录,不需要申请存储权限,即可以通过 File(path) 实现访问,如果有删除操作的,需要申请 所有文件管理权限,否则会删不掉,下面工具类在会给到。

查阅后我发现已经有大神通过SAF来实现在应用内访问该目录了,可以参考:Android11 无Root 访问data目录实现。今天闲逛看到官方文档中这样写到,好家伙,看样子这个bug已经被修复了,但现在实际测试还是可以访问到,也许没准哪天突然用不了了,趁还能用的时候抓紧时间吧~

标签:缓存,DocumentsContract,val,COLUMN,适配,Android11,uri,Document,name
来源: https://blog.csdn.net/u013700040/article/details/115066778