Я столкнулся с проблемой в моем приложении android, которое я разработал с использованием ioni c 4. Мой сценарий заключается в том, что если я перемещаюсь по страницам и возвращаюсь с помощью кнопки назад на панели инструментов, а затем снова перехожу на другие страницы и возвращаюсь с помощью android аппаратная кнопка возврата, затем страницы, на которые я переместился назад с помощью кнопки возврата на панели инструментов, отображаются посередине при использовании аппаратной кнопки возврата.
Страница A-> B -> C, а затем на кнопке возврата на панели инструментов C -> B-> A
Снова перейдите на страницу A-> D-> E, а затем с помощью аппаратной кнопки возврата назад перейдите на E-> D-> B -> C -> B-> A
Невозможно сохранить состояние.
Мой код
В конструкторе app.component.ts
this.router.events.subscribe(event => {
const url = this.router.url //current url
if (event instanceof NavigationEnd) {
const isCurrentUrlSaved = this.navLinksArray.find((item) => { return item === url });
if (!isCurrentUrlSaved) this.navLinksArray.push(url);
}
});
ngAfterViewInit() {
this.backButtonSubscription = this.platform.backButton.subscribe(() => {
if (this.router.url === '/tabs/home') {
navigator['app'].exitApp();
} else {
if (this.navLinksArray.length > 1) {
this.navLinksArray.pop();
const index = this.navLinksArray.length - 1;
const url = this.navLinksArray[index];
this.navCtrl.navigateBack(url);
}
}
});
}
}
Заранее спасибо.