Android 13 读写 Android/data 目录 G

查看 279|回复 9
作者:冷瞳ぃ流殇   
Android 13 读写 Android/data 目录
Google 自 Android 11 起对 Android/data 目录的访问做了一些限制,不再能直接使用 File 进行操作,而在 Android 11 及 Android 12 上,我们通过 DocumentFile 来读写此目录
获取到 Android/data 目录的权限后,便可以使用 DocumentFile 类中的方法对文件进行操作及使用openInputStream/openOutputStream进行文件读/写
DocumentFile类文档:https://developer.android.google.cn/reference/androidx/documentfile/provider/DocumentFile
而在 Android 13上,Google 做出了限制,我们不再能获取到 Android/data 目录的权限,但又似乎特地留下了“漏洞”,我们可以获取到其子目录的权限
所以,想要在 Android 13 上实现读写,应该获取其子目录的权限
在 Android 11 更新后,iApp 给出了读写实例,其授权代码如下:
Intent intent = new Intent("android.intent.action.OPEN_DOCUMENT_TREE");
intent.setFlags(195);
intent.putExtra("android.provider.extra.INITIAL_URI", Uri.parse("content://com.android.externalstorage.documents/tree/primary%3AAndroid%2Fdata/document/primary%3AAndroid%2Fdata"));
startActivityForResult(intent, 0);
我们只需要改为:
Intent intent = new Intent("android.intent.action.OPEN_DOCUMENT_TREE");
intent.setFlags(195);
intent.putExtra("android.provider.extra.INITIAL_URI", DocumentFile.fromTreeUri(activity, Uri.parse("content://com.android.externalstorage.documents/tree/primary%3AAndroid%2Fdata%2Fcom.xxx.xxx")).getUri());
startActivityForResult(intent, 0);
即可获取 Android/data 目录下 com.xxx.xxx 的权限,进而对其内部文件进行操作
我知道很多人比较懒,demo 已经上传到 iApp 的共享空间,可自行下载[doge]

目录, 权限, 出了

哈哈华府大道   
这才应该是酷安头条,什么√吧一堆拍照拍妹子,华为小米循环吵看得我都恶心吐了
小坏_坏   
牛逼,我一个都看不懂。[受虐滑稽]但我大受震撼。
Alnvvv   
安卓:我的目标是禁止所有APP随地大小便
软件:我知道厕所在哪,我就是不去,我要捍卫我的自由[受虐滑稽][受虐滑稽]
虚坤长老   
什么年代了还在用传统Java[受虐滑稽]上kotlin
就是龙虾   
如果有root,可以用“chmod -R 777 /data/media/0/Android/*“来让所有应用可以直接读写这个目录[受虐滑稽]
难受死了   
[酷币][酷币][酷币][酷币]
Alnvvv   
安卓:我的目标是禁止所有APP随地大小便
软件:我知道厕所在哪,我就是不去,我要捍卫我的自由[受虐滑稽][受虐滑稽]
超高校级的希望   
[cos滑稽]用创建快捷方式把它弄出来,安卓13的c13
wiugsh   
我本来以为锁data可以制止qq这类流氓软件在data里面拉💩,结果是把qq请进去拉💩的同时把我锁外边了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部