@sitev_ru
sitev.ru - мой блог ...

Как из AlertDialog вызвать основную активити?

Моё свёрнутое приложение вызывает AlertDialog. В нём две кнопки ОК и Cancel. По Cancel просто закрываем AlertDialog, а вот по кнопке OK нужно отобразить основное активити приложения или просто вывести приложение на передний план. Как это сделать?
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
enq3
@enq3
Android engineer at #ITX5
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
        builder.setTitle("Cообщение")
                .setMessage("Приложение свернули")
                .setCancelable(false)
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent i = new Intent(MainActivity.this, MainActivity.class);
                        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        startActivity(i);
                    }
                })
                .setNegativeButton("Cancel",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        });
        AlertDialog alert = builder.create();
        alert.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
        alert.show();


Знаю что ApplicationContext не используется для создания диалога, но в текущем контексте задачи (показывать диалог при свернутом приложении) у меня на версии андроиде 4.х диалог не отображается, пустой экран просто, а в 5 версии все нормально.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы