现象:
从android10.0开始,不管manifest里是否添加读写权限,都不可以直接访问内部存储路径
为什么
1、因为很多App在安装以后,会在 /storage/emulated/0 下随意创建各种文件/文件夹,导致手机内部存储目录十分混乱,而且app卸载以后,这些文件不会被卸载掉,遗留垃圾文件,造成空间浪费。
2、可以修改其它App创建的文件,有数据安全问题
…
变更
面对上述一些列问题,Google在Android 10.0 引入了Scoped Storage。
1、App访问自身内部存储空间,这个与Android 10.0之前一致
2、外部存储空间,需要通过Uri访问(有兴趣的同学可以去查一查)
回到本文的主题
第一种方法:
就是设备不要升级到10.0及以上,这种方式不适合商业化,因为你无法决定用户的行为,除非你要放弃这部分用户。
第二种方法:
(1)除了再manifest里添加读写权限以外,还要添加权限
requestLegacyExternalStorage
(2)unity打包设置中修改WritePermission为External