BroadcastReceiverの登録にregisterReceiverを用いる
registerReceiverメソッドを使用してBroadcastReceiverを登録できます。サンプルコードを以下に示します。
// 创建BroadcastReceiver对象
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 处理接收到的广播消息
String action = intent.getAction();
if (action.equals("com.example.ACTION_SAMPLE")) {
String data = intent.getStringExtra("data");
Log.d("SampleReceiver", "Received data: " + data);
}
}
};
// 创建IntentFilter,过滤接收的广播消息
IntentFilter filter = new IntentFilter();
filter.addAction("com.example.ACTION_SAMPLE");
// 注册BroadcastReceiver
registerReceiver(receiver, filter);
上記のサンプルでは、BroadcastReceiverインスタンスを作成した後、興味のあるブロードキャストメッセージをフィルター処理するIntentFilterインスタンスを作成しました。最後に、registerReceiverメソッドを使用してBroadcastReceiverをアクティビティまたはサービスに登録します。BroadcastReceiverをアクティビティに登録する場合、アクティビティのonResumeメソッドで登録し、onPauseメソッドで登録解除して、メモリリークを回避する必要があることに注意してください。