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 API
s是比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=] 大多数设备。
在 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 API
s是比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=] 大多数设备。