レシーバーを登録するregisterReceiver
Android では、registerReceiver()メソッドを使用してブロードキャストレシーバーを登録できます。
registerReceiver()メソッドは、ブロードキャストレシーバオブジェクトと、IntentFilterオブジェクトの2つを引数に取ります。
まず、BroadcastReceiverを継承したブロードキャスト受信クラスを作成する必要がある。そしてonReceive()メソッドを上書きし、受信したブロードキャストメッセージを処理する。
次に、ブロードキャスト受信者を登録する必要がある箇所で、registerReceiver()メソッドを呼び出し、ブロードキャスト受信オブジェクトやIntentFilterオブジェクトを引数として渡す。IntentFilterオブジェクトは、受信するブロードキャストメッセージの種類を指定するために使用される。
サンプルコードは以下のようになります。
// 广播接收器类
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 处理接收到的广播消息
String action = intent.getAction();
if (action.equals("com.example.MY_ACTION")) {
// 处理自定义广播消息
}
}
}
// 注册广播接收器
IntentFilter filter = new IntentFilter();
filter.addAction("com.example.MY_ACTION");
registerReceiver(new MyReceiver(), filter);
MyReceiver クラスは、BroadcastReceiver を継承したカスタムブロードキャストレシーバークラスです。onReceive() 関数では、受信したブロードキャストメッセージの種類に応じて対応する処理を行います。
registerReceiver()メソッドは、MyReceiverオブジェクトとIntentFilterオブジェクトをパラメータとして受け取ってブロードキャストレシーバーを登録します。IntentFilterオブジェクトは、受信するブロードキャストメッセージの種類を指定し、ここではaddAction()メソッドを使用して”com.example.MY_ACTION”というカスタムブロードキャストメッセージタイプが追加されています。