7

ブロードキャスト レシーバーを登録して 2 つのインテントを受信することは可能でしょうか?

私のコードは次のとおりです。

sipRegistrationListener = new BroadcastReceiver(){
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction(); 

        if (SIPEngine.SIP_REGISTERED_INTENT.equals(action)){
            Log.d("SETTINGS ", "Got REGISTERED action");
        }   

        if (SIPEngine.SIP_UNREGISTERED_INTENT.equals(action)){
            Log.d("SETTINGS ", "Got UNREGISTERED action");
        }   
    }
};

context.registerReceiver(sipRegistrationListener, new IntentFilter(SIPEngine.SIP_REGISTERED_INTENT));
context.registerReceiver(sipRegistrationListener, new IntentFilter(SIPEngine.SIP_UNREGISTERED_INTENT));

送信するたびに REGISTERED Intent を取得しますが、送信時に UNREGISTERED Intent を取得することはありません。

UNREGISTERED Intent 用に別のブロードキャスト レシーバーをセットアップする必要がありますか?

4

1 に答える 1

26

IntentFilterインラインを作成しないで、メソッドを使用してアクションaddActionを追加します。UNREGISTERED

IntentFilter filter = new IntentFilter(SIPEngine.SIP_REGISTERED_INTENT);
filter.addAction(SIPEngine.SIP_UNREGISTERED_INTENT);
context.registerReceiver(sipRegistrationListener, filter);
于 2010-02-23T11:13:13.780 に答える