2012-11-21 59 views
1

機器人無法訪問文件####的Android無法訪問SD卡中的文件無法卸載的/ mnt /安全/分期SD卡

我工作的應用程序,其中它在SD卡上創建的文本文件。

我有一個接收器,將執行邏輯創建SD卡中的文件,從這一點上我會繼續存儲一些數據。

到目前爲止它工作正常,但突然停止工作。

我檢查了logcat輸出,發現一些與SD卡掛載有關的日誌。

但是不知道如何解決這個問題。下面

是日誌語句:

 1.464 W/Vold (2357): Failed to unmount /mnt/secure/staging (Device or resource busy, retries 3, action 0) 
    08-23 07:26:31.783 E/ProcessKiller(2357): Process logcat (3344) has open file /mnt/secure/staging/abc1.txt 
    08-23 07:26:31.783 E/ProcessKiller(2357): Process logcat (3345) has open file /mnt/secure/staging/abc2.txt 
    08-23 07:26:32.845 W/Vold (2357): Failed to unmount /mnt/secure/staging (Device or resource busy, retries 2, action 1) 
    08-23 07:26:33.173 E/ProcessKiller(2357): Process logcat (3344) has open file /mnt/secure/staging/abc1.txt 

我已經加入許可android.permission.WRITE_EXTERNAL_STORAGE

回答

0

寫入文本文件到SD卡之前,你必須經常檢查媒體狀態

if(Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED)) 
{ 
    // read or write file logic here // 
} 
1

我認爲這只是因爲你使用多線程來訪問文件。因此,請嘗試在打開的文件功能中使用同步。

synchronized void openFile(String filePath) { 
     // Code to open file 
}