[Android]BroadcastReceiver静態登録
2264 ワード
静的登録の方法:
ブロードキャスト受信機BroadcastReceiverという名前のclsReceiver 2を登録しました
登録方式はラベルで登録し、中にはintent-filterを設定し、actionは標準放送Actionの一つです.
[時間再設定イベント]
ACTION_TIME_CHANGED
これにより、システム時間が変更されると、このメッセージが送信され、clsReceiver 2がイベントを受信し、onReceive()メソッド内で処理される.
手動でイベントを送信する場合は、受信機を動的に登録し、イベントを受信機にアクティブに送信する必要があります.
受信機キーコード:この受信機名は、以前のコードをコピーして貼り付けたため、上記とは異なります.
ブロードキャスト受信機BroadcastReceiverという名前のclsReceiver 2を登録しました
登録方式はラベルで登録し、中にはintent-filterを設定し、actionは標準放送Actionの一つです.
[時間再設定イベント]
ACTION_TIME_CHANGED
これにより、システム時間が変更されると、このメッセージが送信され、clsReceiver 2がイベントを受信し、onReceive()メソッド内で処理される.
手動でイベントを送信する場合は、受信機を動的に登録し、イベントを受信機にアクティブに送信する必要があります.
IntentFilter filter = new IntentFilter("com.broadcast2.MY_ACTION");
clsReceiver2 clsReceiver = new clsReceiver2();
registerReceiver(clsReceiver,filter);// , com.broadcast2.MY_ACTION
Intent intent=new Intent();
intent.setAction("com.broadcast2.MY_ACTION");
intent.putExtra("myMsg"," ");
sendBroadcast(intent);
受信機キーコード:この受信機名は、以前のコードをコピーして貼り付けたため、上記とは異なります.
private Context context;
public MyReceiver(Context context) {
this.context=context;
}
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("myMsg");// intent myMsg msg
Toast.makeText(this.context, msg, Toast.LENGTH_LONG).show();
}
mymsgは、myMsgが上記と一致していることに注意してください.すなわち、最初のパラメータの名前は、追加のメッセージの名前であり、その名前によって取得されます.intent.putExtra("myMsg"," ");