1

android无法访问SD卡中的文件####Android无法访问SD卡中的文件</p>

我正在开发在 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

4

2 回答 2

1

我认为这只是因为您使用多线程来访问文件。因此,请尝试在您的打开文件功能中使用同步。

synchronized void openFile(String filePath) {
        // Code to open file
}
于 2012-11-21T05:34:59.080 回答
0

在将文本文件写入 SD 卡之前,您必须始终检查媒体状态

if(Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED))
{
    // read or write file logic here //
}
于 2012-11-21T03:47:35.917 回答