1

サービス A と B の 2 つのサービスがあります。サービス A でサービス B のいくつかのメソッドにアクセスする場合は、ServiceConnection クラスを作成する必要があり、サービス A 内でスタブを作成してメソッドを実装する必要があります。

しかし、サービス B からサービス A のメソッドにもアクセスしたいと思います。試しに、aidl 接続をもう 1 つ作成し、ServiceConnection を実装しましたが、これが正常に動作する唯一の方法ですか、それとも既存のサービス接続を使用してこの機能を別の方法で実装できますか?

4

2 に答える 2

1

私の経験からすると、これが AIDL が機能する唯一の方法であると思います。サービス A からサービス B に渡すことができるカスタム コールバックをいつでも作成できます。その後、B が A に送り返したいときにコールバックをトリガーできます。インテントをやり取りしたり、ソケットを介して通信したりするオプションもあります。反対側でブロックしていることを確認してください。

于 2012-01-24T15:26:27.913 に答える
0

サービスは確かにコールバックインターフェイスを持つことができます(つまり、サービスがクライアントのメソッドを呼び出すことができます)。

SDKのRemoteServiceの例を参照することをお勧めします。

于 2012-01-24T11:19:38.060 に答える