Старый контекст активности показан на фоне диалога DialogActivity вместо HomeScreen

Я установил широковещательный приемник, который запускает новую DialogActivity. Проблема заключается в том, что всякий раз, когда BroadcastReceiver получает широковещательную DialogActivity, отображается DialogActivity но в фоновом режиме вместо рабочего DialogActivity отображается активность, с которой я зарегистрировал приемник, и над ней DialogActivity.

Ниже приведен код:

@Override
public void onReceive(Context arg0, Intent i) {
Intent i1 = new Intent(arg0,AlarmDialog.class);
i1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
arg0.startActivity(i1); //this leads to background as the old activity where I have initially registered the broadcast
}

Кроме того, если контекст, из которого я DialogActivity т. arg0 здесь, закончен, сила приложения закрывается, так как DialogActivity требует контекста.

1 ответ

В идеале, широковещательные приемники не должны показывать никаких диалогов. Они должны показывать уведомление, которое при нажатии на кнопку может отображать активность с диалогом. Тем не менее, если вы хотите, чтобы показать диалог без каких - либо активностей там описания здесь.

licensed under cc by-sa 3.0 with attribution.