在Android应用中,是否有可能通过代码清除下载管理器应用程序数据?

3

我想通过代码清除默认下载管理器应用程序的缓存和数据。这是否可能?我需要这样做是因为手动清除下载管理器数据可以使我的应用程序成功下载更多内容。我们是否可以从我们的应用程序中删除其他应用程序的缓存或数据?


这是关于Android开发中DownloadManager类的官方文档:http://developer.android.com/reference/android/app/DownloadManager.html 现在我只知道它的remove()方法。 - Sergey Benner
@SergeyBenner的remove()方法并没有真正删除数据,它只是取消了该特定文件的下载。感谢您的回复。 - Ganesh K
1
您可能还想查看这个类 http://hi-android.info/src/android/provider/Downloads.java.html 和 http://blog.lytsing.org/archives/135.html 并从那里获取 getContentResolver().delete(Downloads.CONTENT_URI, "(" + Downloads.TITLE + " = 'screenshot')", null); - Sergey Benner
嗯,我知道如果已经下载,它不会从存储中删除文件。 - Sergey Benner
1个回答

0

根据 @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);

通过使用这种方式,我可以清除下载管理器中的一些数据。

请注意,我在使用系统密钥签名的应用程序中应用了它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接