Android中のregisterReceiver(mReceiver, mFilter)の使い方
Androidでは、registerReceiver()メソッドを使って特定のタイプのブロードキャストメッセージを受信するため、BroadcastReceiverオブジェクトを登録します。
使用方法は以下のとおりです。
- ブロードキャストレシーバオブジェクトとインテントフィルターオブジェクトを作成する。
BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 在这里处理接收到的广播消息
}
};
IntentFilter mFilter = new IntentFilter();
mFilter.addAction("android.intent.action.SOME_ACTION"); // 添加你要接收的广播消息的action
- Activityまたはサービス内でregisterReceiver()メソッドを呼び出してブロードキャストレシーバーを登録する。
registerReceiver(mReceiver, mFilter);
- 一致するブロードキャストメッセージを受信すると、BroadcastReceiverのonReceive()メソッドが呼び出されます。
@Override
public void onReceive(Context context, Intent intent) {
// 在这里处理接收到的广播消息
}
注意事項
- 不要な時はunregisterReceiver()メソッドでブロードキャストレシーバーを解除して登録を解除し、メモリリークを防いでください。
- AndroidManifest.xmlファイルでBroadcastReceiverオブジェクトを宣言する際に、受信するブロードキャストメッセージのactionも指定できます。これによって、アプリケーションが起動していないときでも、対応するブロードキャストメッセージを受信できます。