Как открыть диалоговое окно оповещения в другой деятельности

Как открыть диалог в новой активности из неактивности? У меня есть служба, которая запускает таймер обратного отсчета, и когда таймер обратного отсчета заканчивается, я хотел бы открыть диалоговое окно в основной деятельности. Я не могу понять это. Я попытался нормально настроить диалоговое окно с предупреждением, которое не работало, и я попытался отправить намерения с дополнениями и связками, но все еще не повезло. Я искал в 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);
Другие вопросы по тегам