Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC) 是只读的
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC) is readonly
我尝试通过以下方式从 android public 音乐目录中恢复:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
在我的 android 4.2 设备上它是 /storage/emulated/0/Music 并且运行良好。
在 android 5.0.1 设备上它是 /storage/sdcard0/Music 并且是只读的。
为什么?我知道在 4.4 时被限制写入内部存储器但它是 public 导演,不是吗?
我不确定,但在 developer.android.com 上说:
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>
Beginning with Android 4.4, these permissions are not required if you're reading or writing only files that are private to your app.
可能非私人位置(对您的应用)仍然需要此权限?
顺便说一下,尽管有此声明,但我必须添加此权限才能在 Android 5.0.1 上的应用程序中正常运行。
问题是设备安全策略阻止 emulated/0/Music(模拟文件系统)对非系统签名应用程序访问音乐目录。可以通过 /data/0
访问
我尝试通过以下方式从 android public 音乐目录中恢复:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
在我的 android 4.2 设备上它是 /storage/emulated/0/Music 并且运行良好。
在 android 5.0.1 设备上它是 /storage/sdcard0/Music 并且是只读的。
为什么?我知道在 4.4 时被限制写入内部存储器但它是 public 导演,不是吗?
我不确定,但在 developer.android.com 上说:
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>
Beginning with Android 4.4, these permissions are not required if you're reading or writing only files that are private to your app.
可能非私人位置(对您的应用)仍然需要此权限?
顺便说一下,尽管有此声明,但我必须添加此权限才能在 Android 5.0.1 上的应用程序中正常运行。
问题是设备安全策略阻止 emulated/0/Music(模拟文件系统)对非系统签名应用程序访问音乐目录。可以通过 /data/0
访问