簡體   English   中英

ionic4 / angular7 - 如何在意外的BLE中斷上使用導航API?

[英]ionic4 / angular7 - How should one use the navigation API on unexpected BLE interrupts?

開發中的代碼在Android和iOS上運行,使用的框架是Angular7和ionic4以及cordova BLE插件。

在意外的連接失敗后,應用程序應該導航回根URL /主屏幕,它會執行此操作。 但之后無法離開主屏幕並且應用程序卡住了。

到目前為止,我確定導航事件確實被觸發,並且底層BLE插件在嘗試重新連接時仍然可以工作並建立新連接。

根據谷歌Chrome開發人員工具,DOM可以清除任何剩余的頁面,如預期的那樣。

此外,我已確定任何持有全局狀態的服務都已完全重置。

我已經嘗試將角度和離子更新到最新版本,但它沒有任何區別。

這段代碼被稱為對某些s的(click)-Event的回調

this.communicatorService.connect(device).subscribe(
            peripheral => {
                console.debug('CONNECTED');
                this.zone.run(() => {
                    this.navCtrl.navigateForward('/connected').then(
                        _ => console.debug('NAVIGATED')
                    );
                });
            },
            error => {
                console.error(error);
                this.resetState();
                this.zone.run(() => {
                    this.navCtrl.navigateBack('/').then(
                        _ => console.debug('NAVIGATED BACK')
                    )
                });
            }
        );

我期望在控制台上讀取CONNECTED和NAVIGATED,然后見證頁面轉換。

這只是應用程序遇到意外的BLE連接丟失之前的情況。

連接丟失后,我可以在控制台上閱讀“NAVIGATED BACK”。 嘗試重新連接到BLE設備時,會執行代碼段,我可以讀取CONNECTED和NAVIGATED,但不會發生頁面轉換。

在這種情況下我是否正確使用導航API?

發現錯誤。 我在控制器的ngOnDestroy方法中有一個阻塞語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM