3

在我的应用程序中,我需要知道是否正在从 android 市场下载特定应用程序。如何实现此功能?是否可以获得所有正在进行的下载的列表?android 市场是否广播任何可以捕获的意图?

注意:由于我的目标应用程序是在 android 3.0+ 设备上,因此我对使用 DownloadManager 类(2.3 及更高版本)没有任何问题。

4

2 回答 2

1

我找到了一个 API 可以完成你想要的,但你需要一个 9 或更高的 API 才能使用它。您可以使用以下命令从下载管理器获取所有已请求下载的下载:

DownloadManager manager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Query query = new DownloadManager.Query();
Cursor c = manager.query(query);

您可以在此处获得更多信息。我认为没有任何其他方法可以在较低的 API 级别上为您提供此信息。

于 2011-08-12T06:45:26.217 回答
0

我不认为有任何你可以捕捉到的 android 市场应用程序意图(但我不能 100% 确定,因为我无法在任何地方找到 android 市场应用程序清单)。

正如我所看到的,通过DownloadManager.query(DownloadManager.Query q) 课程,您应该能够找到所有正在进行的下载,并且通过数据来源,您可以排除所有未从市场下载的内容。

于 2011-08-10T07:35:58.003 回答