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



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

我通过DownloadManager请求像这样下载文件:

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

项。title是一个简单的字符串

文件存放在android/data/com.me.myapp/files目录下。

我随后使用:

删除文件
File myFile = new File(item.guid);
myFile.delete();

myFile.delete()返回true。

项目。giud是我从BroadcastReceiver获得的路径,它接收下载管理器的意图

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

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

即使我删除文件并调用

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

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

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

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

自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);

相关内容

  • 没有找到相关文章

最新更新