这个问题与this question无关.我已经看到它了,但它是特定的 Android 4.4.2 问题,因为该代码在其他版本的 Android 上运行良好。
final File path = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/MY_Downloads");
if (!path.exists()) {
path.mkdir(); // also tried it with path.mkdirs();
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(path)));
}
我正在使用此代码创建一个 FILE 而不是 Android 4.4.2 上的文件夹。请帮助我已经读过这个article
我已授予以下权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我知道如何访问 SD 卡和有关公共(public)目录的最新更改,但我想创建一个文件夹而不是文件
最佳答案
前几代安卓设备都是使用SD卡存储,访问SD卡只需使用SDK方法提供的路径即可
Environment.getExternalStorageDirectory()
。
很快,较新的设备开始出现,带有大型内部存储分区,这些分区被映射为外部存储,以便调用 Environment 等方法。
getExternalStoragePublicDirectory(字符串)
现在指向这个内部存储而不是物理 SD 卡。
一些最新的设备,例如三星 Galaxy Nexus,甚至没有 SD 卡插槽。
希望对您有所帮助。
关于Android 4.4.2 File.mkdir() 和 mkdirs() 正在创建文件而不是目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22188068/