3

私は次の問題に直面しています。

私のアプリケーションは、2つのサービス間で通信する必要があります。1つはネットワーク用、1つは基本的な電話サービス用です。

今、私はIPCを達成するために次のことをしました:

通常どおりに拡張し、メソッドBinderClassで独自のものを返します。それはうまくいきます。しかし今、私はそれに加えて、私と私のの間でメッセージを送信する可能性を持ちたいと思っています。しかし、ここに問題があります。私はこのような方法で自分自身を返すので:BinderonBind()ServiceActivityBinderonBind()

@Override
public IBinder onBind(Intent intent){
    Log.d(this.getClass().getName(), "BIND");
    return binderToThisProcess;
}

次のような追加のメッセンジャーを返すことはできません。

...
return outMessenger.getBinder();

もちろん、これは明らかなことです。returnステートメントでは1つのオブジェクトしか返されないからです。

私の質問は:Messenger自分自身にを追加する方法はありますBinderか?または、私が探しているものを達成するための同様の方法はありますか?それとも私は何かを逃しましたか?

4

1 に答える 1

2

解決策は私には非常に明白に思えます-拡張する独自のクラスを書くだけBinderです。クラスに任意のカスタムフィールドまたはメソッドを追加できますCustomBinder。単にインスタンス化CustomBinderして、メソッドで返し ますonBind()

于 2012-10-25T14:18:48.760 に答える