Как открыть диалоговое окно оповещения в другой деятельности
Как открыть диалог в новой активности из неактивности? У меня есть служба, которая запускает таймер обратного отсчета, и когда таймер обратного отсчета заканчивается, я хотел бы открыть диалоговое окно в основной деятельности. Я не могу понять это. Я попытался нормально настроить диалоговое окно с предупреждением, которое не работало, и я попытался отправить намерения с дополнениями и связками, но все еще не повезло. Я искал в Google помощь и устал решение по этой ссылке.
@Override
public void onFinish() {
Log.i(TAG, "Timer finished");
cdt.start();
showNotification();
addpoints();
savepref();
Intent intent = new Intent(BroadcastService.this, MainActivity.class);
Bundle bundle = new Bundle();
bundle.putInt("alert_icon_res_id", android.R.drawable.ic_dialog_info);
bundle.putString("alert_title", "Some Title");
bundle.putString("alert_message", "Some message");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
};
cdt.start();
}
Основной код деятельности здесь:
setContentView(R.layout.activity_main);
startService(new Intent(this, BroadcastService.class));
Log.i(TAG, "Started service");
Bundle b = getIntent().getExtras();
if (b != null && b.containsKey("alert_icon_res_id")) {
int icon = b.getInt("alert_icon_res_id");
String title = b.getString("alert_title");
String message = b.getString("alert_message");
new AlertDialog.Builder(this).setIcon(icon)
.setTitle(title).setMessage(message)
.setPositiveButton("Close", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create().show();
}
1 ответ
Решение
В OnFinish
Вы не положили связку в умысел.
Попробуй это:
Bundle bundle = new Bundle();
bundle.putInt("alert_icon_res_id", android.R.drawable.ic_dialog_info);
bundle.putString("alert_title", "Some Title");
bundle.putString("alert_message", "Some message");
intent.putExtras(bundle); // add this line
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);