1

私は、ややモジュール式のシステムを持つアプリを書いています。Serviceコア アプリと、目的のインターフェイスを実装する単一の で構成される一部のアプリがあります。ガイドに従って、 IPC 通信を作成しました。しかし今、システムにインストールされているすべてのサービスを取得する必要があります。どうすればいいですか?Serviceつまり、アプリに何らかのタグPackageManager#getInstalledPackages()を付けて、そのタグの値に基づいて表示される結果をフィルタリングする方法はありますか? そうする一般的な方法は何ですか?

4

1 に答える 1

1

アクティビティが応答するカスタム インテントを作成します。その後、PackageManager.queryIntentServices を使用して、一致するサービスのリストを取得できます。ResolveInfosに埋め込まれた情報からパッケージ情報などを取得できます。

理想的には、実際にこれらのインテントを使用してサービスを呼び出しますが、いつでもそれらを識別タグとして使用し、以前に使用していたバインディング メカニズムにフォールバックすることもできます。

于 2010-10-10T16:26:14.630 に答える