簡體   English   中英

如何在活動中使用多個廣播?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM