我有一個使用「AlarmService」的應用程序。爲了處理報警,我有一個廣播接收器。接收器必須開始某種活動。我使用的代碼如下:廣播接收器啓動活動
@Override
public void onReceive(Context context, Intent intent) {
...other code....
Intent intIntent = new Intent(context, MainActivity.class);
intIntent .putExtra("IsAlarm", true);
Intent alarmChooser = Intent.createChooser(intIntent , "Alarm");
alarmChooser.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(alarmChooser);
}
這有效,但只有當活動不顯示已經(如果它不在前臺)。如果被調用的活動已經打開,則不會發生任何事我如何克服這一點? 有沒有一個標誌,如果它沒有開始或啓動活動,即使它在前臺發送意圖?
P.S.我嘗試使用提供的代碼上方的專用「廣播」。該廣播的接收者在MainActivity中以編程方式註冊:「onResume」將註冊專用接收者,「onPause」將註銷它。這樣的情況下MainActivity已經在它會收到廣播,但當我的手機進入「待命」 - 「專用」接收器未註冊時,我遇到了問題。
我應該用機器人:launchMode =「singleTop」在這種情況下MainActivity? – guest86
您可以設置在launchMode,也可以設置在意向「Intent.FLAG_ACTIVITY_SINGLE_TOP」 –
不會做:(在任何情況下,該標誌「onNewIntent」完全不 – guest86