在我的應用程序中,我需要知道是否正在從android市場下載某個特定的應用程序。我如何實現此功能?是否有可能獲得正在進行的所有下載列表?Android市場是否廣播可以被捕獲的任何意圖?如何獲取正在下載的應用程序列表?
注意:由於我的目標應用程序在Android 3.0及更高版本的設備上,因此使用DownloadManager類(從2.3開始)沒有任何問題。
在我的應用程序中,我需要知道是否正在從android市場下載某個特定的應用程序。我如何實現此功能?是否有可能獲得正在進行的所有下載列表?Android市場是否廣播可以被捕獲的任何意圖?如何獲取正在下載的應用程序列表?
注意:由於我的目標應用程序在Android 3.0及更高版本的設備上,因此使用DownloadManager類(從2.3開始)沒有任何問題。
我發現了一個API,可以完成你想要的功能,但是你需要有一個9或更高的API來使用它。您可以使用此獲得已請求下載一個下載管理的所有下載:
DownloadManager manager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Query query = new DownloadManager.Query();
Cursor c = manager.query(query);
你可以在此here更多信息。我不認爲有任何其他方法可以在較低的API級別爲您提供這些信息。
請注意,使用下載管理器的市場純粹是一個實現細節。你絕對不應該假設你所看到的與市場可能會有什麼關係。 – hackbod
我不認爲有任何Android市場應用程序的意圖,你可以捕捉(但我不是100%確定,因爲我找不到Android市場應用程序體現無處)。
正如我所看到的,通過DownloadManager.query(DownloadManager.Query q)
類,您應該能夠找到所有正在進行的下載,並根據數據的來源排除所有不從市場下載的數據。
此[link] [1]可能會幫助完整。 [1]:http://stackoverflow.com/questions/2695746/how-to-get-a-list-of-installed-android-applications-and-pick-one-to-運行 –
其實,我正在尋找下載的應用程序列表,目前不是已安裝的應用程序列表。 –