Android Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY\u MUSIC)是只读的

Android Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY\u MUSIC)是只读的,android,memory,readonly,internal,Android,Memory,Readonly,Internal,我尝试通过以下方式从android接收公共音乐目录: getExternalStoragePublicDirectory(Environment.DIRECTORY\u MUSIC) 在我的android 4.2设备上,它是/storage/simulated/0/Music,运行良好 在安卓5.0.1设备上,它是/storage/sdcard0/Music和只读的 为什么??我知道at 4.4被限制写入内存,但它是公共控制器,不是吗?我不确定,但在developer.android.com上声

我尝试通过以下方式从android接收公共音乐目录:

getExternalStoragePublicDirectory(Environment.DIRECTORY\u MUSIC)

在我的android 4.2设备上,它是/storage/simulated/0/Music,运行良好

在安卓5.0.1设备上,它是/storage/sdcard0/Music和只读的


为什么??我知道at 4.4被限制写入内存,但它是公共控制器,不是吗?

我不确定,但在developer.android.com上声明:

<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>

...
从Android 4.4开始,如果您只读取或写入应用程序专用的文件,则不需要这些权限

非私有位置(应用程序)是否仍需要此权限


顺便说一句,尽管有此声明,我还是必须添加此权限才能在Android 5.0.1上的应用程序中正常工作。

问题是设备顺序策略阻止通过模拟/0/Music(模拟文件系统)访问非系统签名应用程序的音乐目录。可以通过/data/0访问它

我在清单上有此权限。是的,我尝试从我的应用程序私有目录中写入,但我不明白为什么音乐是只读的。它必须对所有人开放。