バインディングを使用してデータを交換する 2 つのサービス (サービス A と B) があります。2 つのサービス (サービス A) の 1 つは、複数のサービスにバインドできます (現在はサービス B しかありませんが、他の 2 つのサービス C と D も追加する必要があります)。すべてのサービスが同じ方法でデータを交換し、同じメッセージを使用します。
メッセージを送信したサービスの名前を取得できるかどうかを知りたいです。
特に、サービス A は B からメッセージを受信すると、この情報を保存する必要があるため、C または D から同じメッセージを受信すると、動作が異なります。メッセージに添付されたバンドルに文字列を追加せずに可能ですか?
これは、サービス A でこの情報を取得したいコードです
class myHandler extends Handler {
@Override
public void handleMessage(Message msg) {
String senderName;
switch (msg.what) {
case REGISTER:
senderName = ???
addToRecord(senderName);
sendConfirm(msg.replyTo, SUCCESS);
break;
case UNREGISTER:
senderName = ???
removeFromRecord(senderName);
sendConfirm(msg.replyTo, SUCCESS);
break;
default:
super.handleMessage(msg);
}
}
}