3

独自のプロセスで実行されるサービスを作成しました。サービスは、それ自体をリスナーとして ClipboardManager に登録します。新しいものがクリップボードにコピーされるたびに、サービスのコールバック メソッドが呼び出されて新しいクリップ データがキャプチャされます。

私の質問は、これらの 2 つのサービスが 2 つの異なるプロセスで実行されており、iBinder の AIDL を実装していないにもかかわらず、どのように相互に通信できるのでしょうか?!!

ありがとう、、、

4

1 に答える 1

1

ブロードキャストを送信し、ブロードキャストレシーバーを他のサービスに登録するのは簡単な解決策かもしれません。

ブロードキャストの送信: http://developer.android.com/reference/android/content/Context.html#sendBroadcast(android.content.Intent)

BroadcastReceiverの登録:http: //developer.android.com/reference/android/content/BroadcastReceiver.html

共有ContentProviderを使用してデータを交換および保持する必要がある場合は、同様に解決策になる可能性があります。他のサービスは、ContentObserverを登録して、新しい/更新されたデータに関する通知を受け取ることができます。

于 2012-10-05T11:14:51.657 に答える