[英]How can I use more than one Broadcast in activity?
[Service.java]
Intent intent = new Intent();
intent.setAction("sample");
intent.putExtra("timer_real", hms);
sendBroadcast(intent);
[Activity.java]
public void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("sample");
registerReceiver(sn_english, filter);
}
public void onPause() {
super.onPause();
unregisterReceiver(sn_english);
}
BroadcastReceiver sn_english= new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String timer_real = intent.getStringExtra("timer_real");
textTimer.setText(timer_real);
}
};
以上代碼是在Android Activity中使用BroadCast的復合代碼。
您可以看到,我們在Servive.java中發送BR,並在Activity.java中接收它
幸運的是,它通常有效,但我希望在此活動中再使用一個BR。
那么,我該怎么用? 第二個也是在Service.java中發送並在Activity.java中接收
在第二個sendBroadcast上為您的意圖設置不同的操作。 例:
Intent intent = new Intent();
intent.setAction("second_intent);
sendBroadcast(intent);
然后,您可以為該新操作注冊您的活動:
IntentFilter filter = new IntentFilter();
filter.addAction("sample");
filter.addAction("second_intent");
registerReceiver(sn_english, filter);
在你的onReceive()方法中,只需對動作執行if / else:
if(intent.getAction().equals("sample"))
{
// first intent
}
else if(intent.getAction().equals("second_intent"))
{
// second intent
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.