如何删除 DownloadManager 缓存文件夹?

How to delete DownloadManager cache folder?

我想以编程方式删除位于 /data/user/0/com.android.providers.downloads/cache 的文件,但似乎无权访问它。我有签名级别的应用程序权限,可以在 shell 中执行 adb rootsu,但 Runtime.getRuntime().exec(su) 收到 Permission denied 异常。当我尝试执行 File file = new File(path) 并检查它是否存在时,它 returns 为假。缓存文件夹的权限为 drwxrwx--x如何从 DownloadManager 缓存目录中删除文件?

更新

最好的方法似乎是使用 DownloadManager remove(downloadId) 将其从缓存文件夹中删除。虽然没有很好的记录表明它这样做了。

最好的方法似乎是 DownloadManager remove(downloadId)(如果可用)。它实际上删除了带有消息 Deleting /data/data/com.android.providers.downloads/cache/binary.apk via provider delete

的文件

如果您希望 downloadIds 列表删除整个缓存,程序员可能需要使用 DownloadManager 查询并按状态完成过滤以将其全部删除。