2017-04-16 37 views
0

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

我已经尝试过2个不同的possibilites:

Environment.getExternalStorageDirectory() 
getExternalFilesDir("MyFileStorage") 

他们都导致/存储/在内部存储模拟/ 0。 有谁知道我可以如何访问我智能手机的SD卡上的应用程序文件夹(USB调试)。

回答

0

,它们被保存在应用程序的文件夹在SD卡

默认情况下,应用程序不会对removable storage的目录。

在Android 4.4+上,欢迎来到use getExternalFilesDirs()(注意末尾为s)。如果返回带有2+条目的列表,则第一个将位于外部存储器上,其他位置将位于可移动存储器上。

我已经尝试过2个不同的possibilites ......他们都导致/存储/在内部存储

这些点模拟/ 0到什么了Android SDK是指为external storage

+0

使用getExternalFilesDirs(1)为我工作:) – Scian

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

此代码与绝大多数Android设备上的SD卡无关。 – CommonsWare

+0

不幸的是,这也不起作用。 Environment.getExternalStorageDirectory()再次导致/ storage/emulated/0。因此,我在我的内部存储上创建了一个文件夹。 虽然我有权在外部存储器上写入(我甚至在手机的设置中检查过它)。 – Scian