我想通过代码清除默认下载管理器应用程序的缓存和数据。这是否可能?我需要这样做是因为手动清除下载管理器数据可以使我的应用程序成功下载更多内容。我们是否可以从我们的应用程序中删除其他应用程序的缓存或数据?
我想通过代码清除默认下载管理器应用程序的缓存和数据。这是否可能?我需要这样做是因为手动清除下载管理器数据可以使我的应用程序成功下载更多内容。我们是否可以从我们的应用程序中删除其他应用程序的缓存或数据?
根据 @Sergey Benner 在博客 blog.lytsing.org/archives/135.html 中的代码形式的评论,并从那里获取getContentResolver().delete(Downloads.CONTENT_URI, "(" + Downloads.TITLE + " = 'screenshot')", null);
由于android.provider.Downloads是私有类,因此我们无法直接引用它,所以我用来自类https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/provider/Downloads.java的字符串替换了常量
getContentResolver().delete(Uri.parse("content://downloads/my_downloads"),"(" + "title" + " = 'Your download title')", null);
通过使用这种方式,我可以清除下载管理器中的一些数据。
请注意,我在使用系统密钥签名的应用程序中应用了它。
getContentResolver().delete(Downloads.CONTENT_URI, "(" + Downloads.TITLE + " = 'screenshot')", null);
。 - Sergey Benner