Android不可擦除分区写文件恢复出厂设置,无法读写问题

普通应用往不可擦除分区写文件之后,恢复出厂设置

现象:概率性读不到写过之后的文件

复制代码
12-18 10:57:31.348  7980  7980 W System.err: java.io.FileNotFoundException: /xxx/xxx: open failed: EACCES (Permission denied)
12-18 10:57:31.348  7980  7980 W System.err: 	at libcore.io.IoBridge.open(IoBridge.java:574)
12-18 10:57:31.348  7980  7980 W System.err: 	at java.io.FileOutputStream.<init>(FileOutputStream.java:259)
12-18 10:57:31.348  7980  7980 W System.err: 	at java.io.FileWriter.<init>(FileWriter.java:113)
12-18 10:57:31.348  7980  7980 W System.err: 	at android.util.FileIOUtils.writeFileFromString(FileIOUtils.java:556)
12-18 10:57:31.348  7980  7980 W System.err: 	at android.util.FileIOUtils.writeFileFromString(FileIOUtils.java:510)

原因:恢复出厂设置之后,组权限变化,导致之前有权限的应用,读不到分组的权限

写文件的时候,给文件赋予666权限

复制代码
val path: Path = Paths.get(PN_PATH)
val perms: MutableSet<PosixFilePermission> = HashSet()
perms.add(PosixFilePermission.GROUP_WRITE)
perms.add(PosixFilePermission.GROUP_READ)
perms.add(PosixFilePermission.OTHERS_WRITE)
perms.add(PosixFilePermission.OTHERS_READ)
perms.add(PosixFilePermission.OWNER_READ)
perms.add(PosixFilePermission.OWNER_WRITE)
Files.setPosixFilePermissions(path, perms)
相关推荐
alexhilton8 小时前
Kotlin互斥锁(Mutex):协程的线程安全守护神
android·kotlin·android jetpack
spencer_tseng9 小时前
Eclipse 4.7 ADT (Android Development Tools For Eclipse)
android·java·eclipse
archko11 小时前
android pdf框架-15,mupdf工具与其它
android·pdf
.豆鲨包14 小时前
【Android】MVP架构模式
android·架构
代码会说话14 小时前
i2c通讯
android·linux·嵌入式硬件·嵌入式
默|笙16 小时前
【c++】set和map的封装
android·数据库·c++
kaikaile199517 小时前
PHP计算过去一定时间段内日期范围函数
android·开发语言·php
2501_9293826517 小时前
电视盒子助手开心电视助手 v8.0 删除电视内置软件 电视远程控制ADB去除电视广告
android·windows·adb·开源软件·电视盒子
太过平凡的小蚂蚁18 小时前
Kotlin 异步数据流三剑客:Flow、Channel、StateFlow 深度解析
android·kotlin
铭哥的编程日记19 小时前
【Linux】库制作与原理
android·linux·运维