私のアプリケーションでは、特定のアプリが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);
詳細については、こちらをご覧ください。より低いAPIレベルでこの情報を提供する他の方法はないと思います。
私はあなたが捕まえることができるAndroidマーケットアプリケーションの意図があるとは思いません(しかし、Androidマーケットアプリのマニフェストがどこにも見つからないため、100%確信はありません)。
私が見ているように、クラスを通じて、DownloadManager.query(DownloadManager.Query q)
進行中のすべてのダウンロードを見つけることができ、データのソースによって、市場からダウンロードされていないものをすべて除外することができます。