2013-12-17 70 views
0

嗨我買了一個便宜的Android手機來進行應用程序調試,我想知道如何訪問內部內存文件夾,這是拒絕我的進步。在Android手機上訪問'data/internal_memory'

當我第一次拿到手機時,我使用瀏覽器從互聯網下載了一些圖片。我還用相機拍了一張照片。他們被存儲在內部存儲器中,因爲我沒有安裝SD卡。

然後,我安裝了SD卡,並使用瀏覽器下載了一些存儲在SD卡上的圖像。現在,當我看圖庫時,SD卡上的圖像和內存中的圖像有不同的文件夾。

我正在編寫一個使用Xamarin瀏覽圖片的C#應用​​程序,但是當我嘗試訪問/ data/internal_memory時,我收到權限錯誤。但是,我可以使用文件管理器應用程序(Easy Files Finder)訪問文件夾。我認爲這是因爲Easy Files Finder讓我在安裝前接受各種權限異常。

我在我的應用程序中必須做些什麼才能讓我讀取內部存儲?感謝您的任何建議!

回答

0

由於谷歌說:

「你可以直接保存在設備的內部存儲文件默認情況下,保存到內部存儲器中的文件僅對您的應用程序和其他應用程序不能訪問它們(也可以在用戶)。 。當用戶卸載你的應用程序時,這些文件被刪除。「

不過你可以試試這個:

  1. 呼叫openFileInput(),並通過它來讀取文件的名稱。這會返回一個FileInputStream。
  2. 使用read()從文件中讀取字節。
  3. 然後用close()關閉流。

參見this

+0

嗨,謝謝你的回覆。就我而言,a)我的應用程序不是創建文件的瀏覽器; b)保存的文件是公開的,即它們在圖庫中是可見的,並且不是瀏覽器專用的,所以我大概可以找到它們; c)我不知道保存文件的名稱是什麼,我需要瀏覽文件夾才能找到它們,所以傳遞文件的名稱是不可能的。 – TripleAntigen

0

訪問內部存儲器可能受到限制。我想嘗試在這裏尋找:

string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal); 

要在SD卡的使用Android.OS.Environment.ExternalStorageDirectory.AbsolutePath訪問文件。