访问Android应用程序中的SD卡

时间:2017-04-16 19:41:55

标签: java android

我目前正在开发一个Android应用程序,它将打开并保存.txt文件。 为了便于阅读外部.txt文件,我想确保它们保存在SD卡上的应用程序文件夹中。 不幸的是我只能访问/ storage / emulated / 0。

我已经尝试了两种不同的可能性:

Environment.getExternalStorageDirectory()
getExternalFilesDir("MyFileStorage")

它们都导致内部存储上的/ storage / emulated / 0。 有谁知道我如何访问智能手机SD卡上的应用程序文件夹(USB-Debugging)。

2 个答案:

答案 0 :(得分:0)

默认情况下,应用程序不会在外部存储上附带文件夹。您需要为您的应用创建一个文件夹,如下所示:

String folder_main = "YourAppName";

File f = new File(Environment.getExternalStorageDirectory(), folder_main);
if (!f.exists()) {
    f.mkdirs();
}

请记住,您需要添加权限

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

AndroidManifest.xml访问SD卡(并使用Android 6.0中为新设备引入的权限模型)。

答案 1 :(得分:0)

  

它们保存在SD卡上的应用程序文件夹中

默认情况下,应用在removable storage上没有目录。

在Android 4.4及更高版本中,欢迎您use getExternalFilesDirs()(注意最后的s)。如果这返回包含2个以上条目的列表,则第一个将在外部存储上,其他将在可移动存储上。

  

我已经尝试了两种不同的可能性......它们都导致/ storage / emulated / 0在内部存储上

这些指向Android SDK引用的external storage

相关问题