0

在我的应用程序中,我正在解析一个 html 文件并将其存储在应用程序本地文件目录中。我在 onCreate() 中执行此操作。现在它们是一个按钮“打开”,当我单击“打开”按钮时,我通过将路径作为文件目录来显示 android 选择器对话框。

然后在 onDestroy() 中,我删除了存储在 files 目录中的所有文件。这工作到 4.0。

但在 4.1 中,一旦我们打开选择器对话框,它会立即调用 onDestroy()。当另一个应用程序(例如:Html 查看器)尝试打开文件时,文件将不可用。所以它显示文件未找到。那么在哪里删除本地文件?。

4

1 回答 1

0

试试这个代码

//Deleting the temperary folder and the file created in the sdcard
public static boolean deleteDir(File dir) 
{
    if (dir.isDirectory()) 
    {
        String[] children = dir.list();
        for (int i = 0; i < children.length; i++) 
        {
            boolean success = deleteDir(new File(dir, children[i]));
            if (!success) 
            {
                return false;
            }
        }
    }

    // The directory is now empty so delete it
    return dir.delete();
}

将此代码放入onDestroy()

File checkFile = new File(Environment.getExternalStorageDirectory(),"/FolderName/");
//getting the control of sdcard files   
deleteDir(checkFile);
于 2012-12-04T11:08:37.103 回答