Android 奇巧 sdcard 写权限

Android KitKat sdcard write permission

在 android KitKat 中,写入 SD 卡有一些限制。

所以我的问题是:即使在 KitKat 中也总是允许写入 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) 吗?

要获取可以使用的内部 SD 卡

String extStore = System.getenv("EXTERNAL_STORAGE");
File f_exts = new File(extStore);

要获取可以使用的外部 SD 卡

String secStore = System.getenv("SECONDARY_STORAGE");
File f_secs = new File(secStore);

关于运行代码

 extStore = "/storage/emulated/legacy"
 secStore = "/storage/extSdCarcd"

完美运行!

参考以下 Link ,我认为你的问题已经得到解答,已经检查过...

Android Open External Storage directory(sdcard) for storing file

您首先需要了解Android Storage的概念。 然后你就会明白 Environment.getExternalStorageDirectory() 之类的东西是关于 primary external storage 的。而且跟Android APIs是比KitKat早还是比

没有关系。

Is it always permitted to write to Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) even in KitKat?

如果您的应用请求了 WRITE_EXTERNAL_STORAGE 权限,那么是的,因为 getExternalStoragePublicDirectory() 指向 vast[ 上的 external storage, which is not removable storage ("SDCard") =17=] 大多数设备。