Android getExternalFilesDir权限

时间:2014-05-07 17:06:10

标签: android permissions android-4.4-kitkat

我知道对于Android 4.4,您可以创建"特定应用程序"使用此方法在外部存储中的文件夹。

getExternalFilesDir("myfiles").getAbsolutePath();

创建文件夹     /storage/sdcard/Android/data/com.abc.zyz/files/myfiles

然而,如果没有额外的文件夹"文件"这样就可以安全地创建它(我的首选)?

String mfolder = Environment.getExternalStorageDirectory().getPath() + "/Android/data/" + getPackageName() + "/myfiles";
File sd = new File(mfolder);
if(!sd.exists() || !sd.isDirectory()) {
sd.mkdirs();
}

我在API19模拟器上运行它,并且使用这两种方法创建文件夹,但我担心在真实设备上完成时可能会出现使用第二种首选方法执行权限的权限问题。

有人可以建议或使用Kitkat设备进行测试吗?

2 个答案:

答案 0 :(得分:5)

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

这将允许您在18岁之前写入外部存储(即保存文件),因为在不需要权限之后需要提供权限。我知道这个问题早已发布,但认为答案可能有助于其他人因为我花了一些时间才发现这个问题

答案 1 :(得分:1)

以这种方式阅读时遇到了类似的问题。在4.4之前工作正常,但在4.4上它并不喜欢它。

将此添加到AndroidManifest.xml文件中:

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

为我工作。如果它适合你,请告诉我!