Нажатие кнопки возврата на android прерывает навигационную логику c, когда backstack пуст - PullRequest
0 голосов
/ 24 апреля 2020

У меня были подобные проблемы с кнопкой возврата до . В моем приложении у меня есть страница входа в систему, где пользователь отправляет свой номер телефона, а затем они переходят на страницу, где они вводят проверочный код, который они получили. Если пользователь нажал кнопку «Назад» на этой странице, приложение сворачивается, но когда оно открывается снова, вместо страницы для подтверждения кода подтверждения отображается страница входа, даже если я указал clearhistory: true.

* 1005. * Вот как я перемещаюсь:
this.$navigateTo(ConfirmSMS, {
  transition: {name: 'slideLeft'},
  clearHistory: true
});

1 Ответ

1 голос
/ 25 апреля 2020

Вы должны использовать clearHistory только в том случае, если не хотите использовать go для возврата в систему после нажатия кнопки возврата.

При нажатии кнопки «Назад» и отсутствии страниц в заднем стеке приложение завершает работу. Он все еще будет отображаться в недавнем приложении, но в отличие от iOS нажатие на последнее приложение перезапустит его, если оно не было приостановлено, но была нажата другая кнопка действия / home.

Вы можете переопределить кнопку назад, чтобы приостановить приложение, а не завершать его.

import { isAndroid } from "@nativescript/core/platform";
import * as application from "@nativescript/core/application";
import { Frame } from "@nativescript/core/ui/frame";

if (isAndroid) {
    application.android.on(application.AndroidApplication.activityBackPressedEvent, function (args) {
        const frame = Frame.topmost();
        if (frame && !frame.canGoBack()) {
            args.cancel = true;
            var startMain = new android.content.Intent(
                android.content.Intent.ACTION_MAIN
            );
            startMain.addCategory(android.content.Intent.CATEGORY_HOME);
            startMain.setFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK);
            application.android.foregroundActivity.startActivity(startMain);
        }
    });
}

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

...