如何删除 DownloadManager 缓存文件夹?
How to delete DownloadManager cache folder?
我想以编程方式删除位于 /data/user/0/com.android.providers.downloads/cache
的文件,但似乎无权访问它。我有签名级别的应用程序权限,可以在 shell 中执行 adb root
和 su
,但 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 查询并按状态完成过滤以将其全部删除。
我想以编程方式删除位于 /data/user/0/com.android.providers.downloads/cache
的文件,但似乎无权访问它。我有签名级别的应用程序权限,可以在 shell 中执行 adb root
和 su
,但 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 查询并按状态完成过滤以将其全部删除。