3

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

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

+0

此[link] [1]可能会帮助完整。 [1]:http://stackoverflow.com/questions/2695746/how-to-get-a-list-of-installed-android-applications-and-pick-one-to-运行 –

+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级别为您提供这些信息。

+0

请注意,使用下载管理器的市场纯粹是一个实现细节。你绝对不应该假设你所看到的与市场可能会有什么关系。 – hackbod

0

我不认为有任何Android市场应用程序的意图,你可以捕捉(但我不是100%确定,因为我找不到Android市场应用程序体现无处)。

正如我所看到的,通过DownloadManager.query(DownloadManager.Query q)类,您应该能够找到所有正在进行的下载,并根据数据的来源排除所有不从市场下载的数据。

相关问题