deeplink跳轉快應用返回出現兩次系統新增桌面的彈框
現象描述
從應用市場開啟快應用,點選返回時,系統新增桌面圖示只出現一次彈窗。但是使用 deeplink開啟跳轉頁面,點選返回時,系統新增桌面圖示會出現一次彈窗後再閃一次。
問題分析
現網正常透過 Deeplink、網頁跳轉方式進入快應用時,使用系統建立桌面圖示時,出現一次彈框,不會再閃一次。對Deeplink跳轉的頁面程式碼進行分析,發現頁面程式碼裡對onBackPress(監聽返回按鈕動作)函式進行了重寫處理。
其中 this.entryDirect為Deeplink跳轉時攜帶的引數。
onBackPress是使用者點選返回按鈕時觸發的,當返回true表示頁面按應用自己的返回邏輯處理,返回false表示按預設的返回邏輯處理,不返回值則和返回false一樣,按預設的返回邏輯處理。
在這段程式碼中,開發者在 onBackPress中判斷為Deeplink進入快應用時,呼叫this.app.exit()退出應用,此時會觸發finish事件,而開發者沒有在onBackPress返回true,所以按預設的返回邏輯處理,也觸發了finish事件。快應用中心在監聽到finish事件後,就會彈框引導使用者建立圖示,從而導致出現兩次彈框。
解決方法
對介面 onBackPress函式程式碼進行修改,呼叫this.app.exit()退出應用後,不再使用預設按鈕返回邏輯。
建議與總結
當頁面需要使用 onBackPress(監聽返回按鈕動作)函式處理自己邏輯時,需要在函式最後返回true,否則處理完onBackPress程式碼後預設會走系統返回邏輯,容易導致異常。
原文連結: https://developer.huawei.com/consumer/cn/forum/topic/0204422876080970622?fid=18
原作者:Mayism
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69970551/viewspace-2769037/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Deeplink跳轉提示應用下架
- 卡片跳轉快應用指定頁面,如何點返回直接退出快應用回到卡片
- Android activity相互跳轉後臺出現兩個頁面的坑Android
- Android實現點選兩次返回鍵和長按返回鍵退出應用實踐Android
- 短視訊商城系統,系統提示框、確認框、點選空白關閉彈出框
- 彈框 在Avalonia中,使用系統預設的彈框
- jqueryeasyui彈出訊息框(轉載)jQueryUI
- Deeplink實現華為應用外商品支付功能
- 快捷入口 管理Win7系統應用跳轉列表Win7
- 如何用Deeplink為快應用提供多個快速直達入口
- win10系統下應用商店登入出現黑框如何解決Win10
- 系統級別的window,應用級別的彈出框Dialog/popwindow (dismiss和cancel和hide)IDE
- CSS滑鼠放在連結上出現彈出框CSS
- PHP彈出提示框並跳轉到新頁面即重定向到新頁面PHP
- win10系統返回傳統桌面的方法Win10
- JS學習之Bom(系統彈框)JS
- win10系統怎麼禁用應用軟體彈出廣告Win10
- Cordova + Vue 實現點選兩次退出應用Vue
- 教你如何在快應用中跳轉到Android的appAndroidAPP
- Android應用內外跳 — 跳轉到應用市場Android
- Android應用內外跳 -- 跳轉到應用市場Android
- VC實現動畫應用兩則 (轉)動畫
- bootstrap提示和彈出框boot
- 自定義popup彈出框
- 使用xfce4桌面系統(轉)
- swift實現仿知乎搖一搖彈出框Swift
- 基於HTML5 Canvas 實現彈出框HTMLCanvas
- 如何區分router.push跳轉快應用的來源渠道
- 企業只有兩個應用系統
- iOS 應用間相互跳轉iOS
- 應用系統打包釋出
- 記一次編寫彈框元件元件
- uniapp接入微信分享iOS總是跳轉兩次APPiOS
- mui日期選擇器彈出兩次的解決方法UI
- EventBus實現兩個Fragment直接的跳轉Fragment
- 簡單實現兩個activity相互跳轉
- Flutter | 超實用簡單選單彈出框 PopupMenuButtonFlutter
- html + css + js 原生 彈出提示框的實現HTMLCSSJS