尽管具有读写权限,但我无法在Android 10中访问sdcard。这是我列出所有目录的方法。
/mnt/
如果我使用/mnt/sdcard/
而不是sdcard
,则可以看到其中列出了/mnt/sdcard/
目录,但是当我使用subFiles
时,null
是{{1 }}。我不知道这是否与新的android 10版本有关,还是模拟器有问题。我正在使用android studio的默认仿真器进行调试。
答案 0 :(得分:1)
这是一个临时解决方案。从Android 11开始,必须使用范围存储。
问题是清单文件中的requestLegacyExternalStorage
未设置为true
。由于默认情况下是对外部存储设备的作用域访问,因此在Android 10或更高版本中将其设置为false
。在AndroidManifest.xml
中添加此行解决了我的问题。
<manifest ... >
<!-- This attribute is "false" by default on apps targeting
Android 10 or higher. -->
<application
android:requestLegacyExternalStorage="true" ........ >
......
</application>
</manifest>