3

私のアプリケーションでは、特定のアプリが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- run –

+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

あなたがキャッチすることができます(私はアンドロイド市場のアプリケーションのマニフェストがどこにも見つかりませんので、私は100%確信していない)は、任意のアンドロイドマーケットアプリケーションの意図があるとは思わない。

私が見る通り、DownloadManager.query(DownloadManager.Query q)クラスでは、すべての進行中のダウンロードを見つけることができ、データのソースによって市場からダウンロードされていないものをすべて除外することができます。

関連する問題