我正在开发一个在/sdcard/MyFolder目录中读写数据的Android应用程序。我通过方法Environment.getExternalStorageDirectory()获得sdcard路径。

我在三星设备上测试了该应用程序,该方法返回的路径为/mnt/sdcard并在其上附加/MyFolder;一切正常,我可以在该文件夹中读/写文件。
现在,我尝试在Nexus设备上执行相同的操作:将文件读取到/sdcard/MyFolder目录中,并且getExternalStorageDirectory()返回/storage/emulated/0/作为路径,并在其上附加/MyFolder。但是在这种情况下,我找不到要读取的文件。

我在清单中设置了所有存储权限。

难道我做错了什么?是否有与模拟目录有关的特定问题?

谢谢

最佳答案

在Android 6.0中,您必须在运行时处理某些权限。请通过this。因为READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE被视为危险权限,因此必须在运行时进行处理。

关于java - 在Android上读写外部存储,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37722948/

10-10 17:49