在我的应用程序中,我需要知道是否有特定的应用程序是从Android市场下载的。我如何实现此功能?是否有可能获得正在进行的所有下载的列表?Android市场是否广播了可以捕获的任何意图?
注意:由于我的目标应用程序是在Android 3.0+设备上,因此我使用DownloadManager类(从2.3开始)没有任何问题。
答案 0 :(得分:1)
我找到了一个能够达到你想要的API,但是你需要一个9或更高的API才能使用它。您可以使用以下命令从下载管理器获取已请求下载的所有下载:
DownloadManager manager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Query query = new DownloadManager.Query();
Cursor c = manager.query(query);
您可以获得有关此here的更多信息。我认为没有任何其他方法可以在较低的API级别为您提供此信息。
答案 1 :(得分:0)
我不认为你可以捕获任何Android市场应用程序意图(但我不是100%肯定,因为我找不到Android市场应用程序清单无处可去。)
在我看来,通过DownloadManager.query(DownloadManager.Query q)
课程,您应该能够找到所有正在进行的下载,并且根据数据来源,您可以排除所有未从市场下载的数据。