2017-04-16 35 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