私はAIDLを介して他のサービスと通信するサービスを持っています。私は、そのサービスが私のアプリケーションの活動に縛られることを望みます。サービスが2つのバインダー\インターフェースを定義できますか?私は、 "onBind"メソッドをオーバーライドするように、アクティビティと通信するためにメッセンジャーを使用しようとしました。これは、それが取得するインテントに応じて別のバインダを返します(1つは他のサービス用、もう1つはアクティビティ用)。アンドロイドサービスは、通信するための2つのインターフェースを提供できますか?
しかし、サービスから同じバインダを使用しているアクティビティのバインドが解除されると、「myServiceがServiceConnectionをリークしました...元々ここにバインドされていました」というエラーが表示されます。他のサービスと通信する。
サービスが2つのインタフェースを使用できない場合、どのようにアクティビティとそのサービス間の通信を実装できますか?
はAIDLとMessengerは、他のアプリケーション/プロセスとIPCのために使用されている -Liron