После возобновления иногда показывать главный экран в Nativescript-Vue

У меня проблема с моим приложением и его навигацией.

В моем приложении четыре экрана, но иногда, когда вы нажимаете кнопку «Домой» Android на втором экране (или любом другом) и после возобновления работы приложения, это показывает домашний экран, а не последний экран, какие-нибудь идеи, чтобы решить эту проблему?

Обновление: иногда после возобновления работы приложения отображается правильный экран (последний показан), но я не знаю, как это происходит (это тот же исходный код), я тестировал это во многих версиях симулятора Android (4.4, 5.0, 7.0 y 8.0). Может это ошибка?

Запись экрана: https://i.imgur.com/VhWFhWU.gifv

Код: https://play.nativescript.org/?template=play-vue&id=wKkYCe&v=2

Спасибо


person Edu Dev    schedule 21.02.2019    source источник


Ответы (1)


Это должно быть легко, если вы используете в своем приложении одиночный фрейм. Вы можете прослушать событие возобновления активности и вызвать $navigateBack со ссылкой на первый элемент в заднем стеке.

       if (application.android) {

 application.android.on(application.AndroidApplication.activityResumedEvent,
                () => {
                    const backStack = frame.topmost().backStack[0];
                    if (backStack) {
                        setTimeout(() => {
                            this.$navigateBack({}, backStack);
                        }, 0);
                    }
                }, this);
        }

Образец игровой площадки

person Manoj    schedule 21.02.2019
comment
Спасибо, это странно, потому что иногда работает нормально с одним и тем же кодом. - person Edu Dev; 22.02.2019
comment
Извините, я упустил суть. Что вроде бы шнуровано, ломается ли иногда? Вы это имели в виду? - person Manoj; 22.02.2019
comment
Без вашего кода иногда, когда приложение возобновляет работу, отображается правильный экран, но его трудно воспроизвести. Если я воспользуюсь вашим кодом, когда вернусь к правильному экрану, этот код изменит экран? - person Edu Dev; 22.02.2019
comment
Да, я полагаю, это то, о чем вы просили. Ваш вопрос гласит, что после возобновления всегда отображается главный экран. Приведенный выше код возвращается к вашему первому компоненту, когда вы возобновляете работу с приложением. Если это не то, чего вы ожидаете, обновите свой вопрос, добавив более подробную информацию. - person Manoj; 22.02.2019
comment
На самом деле я думал, что вы просите что-то подобное, перейдите на главный экран, когда продолжите. Но похоже, что это была ваша проблема, и я не уверен, как это могло случиться. Ни у меня, ни на той же площадке не воспроизводится. Единственная возможная причина, о которой я мог подумать, заключается в том, что либо у вас запущено какое-то приложение для очистки, которое убивает ваше приложение, как только оно переходит в фоновый режим, либо есть настройка параметров вашего разработчика для уничтожения активности, может быть, это включено. - person Manoj; 22.02.2019