尽管删除,文件仍保留在手机上

时间:2014-03-27 19:16:44

标签: android file

我在Android应用中保存和删除文件时遇到问题。

我通过DownloadManager请求下载文件,如下所示:

request.setDestinationInExternalFilesDir(v.getContext(),null, item.title + ".mp3");

其中item.title是一个简单的String。

文件存储在android / data / com.me.myapp / files下。

我稍后使用以下命令删除文件:

File myFile = new File(item.guid);
myFile.delete();

myFile.delete()返回true。

item.giud是我从实现的BroadcastReceiver获得的路径,它接收Downloadmanager意图

cursor.getString(c.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME));

访问应用程序中的文件,一切正常。

即使我删除文件并调用

File myFolder = getExternalFilesDir(null);
File files[] = myFolder.listFiles();

已删除的文件不再出现在文件[]中。

但是当我打开手机连接的电脑上的文件夹时,我仍然可以看到所有文件,即使是已删除的文件,文件夹的大小也是多个100 mbs甚至是我的文件[]数组app说空了。但是,我无法访问(打开,复制)删除"删除的任何文件。因此不再出现在我的应用程序中的files []数组中。我没有在应用程序中删除的文件工作正常。

谁能告诉我这里有什么问题?

1 个答案:

答案 0 :(得分:1)

从Android 4.0起,您的PC无法直接访问存储,但从MediaScanner获取信息,缓存存储内容。 调用此方法通知媒体扫描程序内容已更改:

   File file = new File(absolutePath);
   Uri uri = Uri.fromFile(file);
   Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
   sendBroadcast(intent);