DARKENN
@DARKENN

Краши при вызове alert dialog, как исправить?

Здравствуйте! Не могу разобраться с такой проблемой: у меня есть интерактивная игра викторина и при не правильном ответе предлагается использовать дополнительную жизнь, для этого я использую alert dialog как popup, все бы ничего, но через раз происходит краш приложения с ошибкой:
Fatal Exception: android.view.WindowManager$BadTokenException
Unable to add window -- token android.os.BinderProxy@b420b9e is not valid; is your activity running?

Прочитал много вопросов пользователей и ответы к ним, одним из решений было проверять активность и если не находит не показывать popup, но мне оно не подходит т.к. этот popup мне показать нужно обязательно.
get_chance = new Dialog(this);
public void get_chance() {
        if(user_data.lives != 0) {
            get_chance.setContentView(R.layout.popup_get_chance);
            Button use_live = get_chance.findViewById(R.id.use_live);
            timer_close_popup = new CountDownTimer(6000, 1000) {

                public void onTick(long millisUntilFinished) {
                }

                public void onFinish() {
                    get_chance.dismiss();
                    lose();
                }}.start();
            use_live.setOnClickListener(view -> {
                timer_close_popup.cancel();
                use_live();
                get_chance.dismiss();
            });
            Button cancel = get_chance.findViewById(R.id.cancel3);
            cancel.setOnClickListener(view -> {
                timer_close_popup.cancel();
                lose();
                get_chance.dismiss();
            });
            get_chance.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
                    WindowManager.LayoutParams.MATCH_PARENT);
            get_chance.show();
        } else {
            lose();
        }
    }

Хочу отметить, что краши не зависят от модели устройства, они происходили абсолютно рандомно (брал из статистики firebase crashlytics).
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
для этого я использую alert dialog
Используйте ту же активность с доп.слоем внутри.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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