Code example for IntentFilter

Methods: registerReceiver

0
 
        // この Activity の Context に BroadacstReceiver のインスタンスを動的に登録する 
        registerReceiver(mMyReceiver, new IntentFilter(Intent.ACTION_HEADSET_PLUG));
 
        // この Activity を持つ Application の Context に BroadcastReceiver のインスタンスを動的に登録する 
        getApplicationContext().registerReceiver(mMyReceiver2, new IntentFilter(Intent.ACTION_HEADSET_PLUG));
 
        registerReceiver(mMyReceiver3, new IntentFilter(ACTION_HOGEHOGE));
    } 
 
    @Override 
    protected void onStop() { 
        super.onStop(); 
 
        // この Activity の Context に登録した BroadcastReceiver のインスタンスを解除する 
        // これを行わないと、Activity が死んだあとも BroadcastReceiver が生きたままになり、メモリリークとなるが、システムがリークを検知して強制解除する 
        unregisterReceiver(mMyReceiver);
 
        // この Activity を持つ Application の Context に登録した BroadcastReceiver のインスタンスを解除する 
        // これを行わないと、Activity が死んだあとも BroadcastReceiver が生きたままになり、メモリリークとなる 
        // システムは自動で登録を解除しないので、適切なタイミングで確実に解除することを要求される