卡片跳轉快應用指定頁面,如何點返回直接退出快應用回到卡片
問題現象: 在快應用已經開啟A頁面的情況下,此時若從卡片(或其他媒介)跳轉至快應用指定頁面B,點選左上角返回鍵,退出頁面順序是B-A-卡片,無法一鍵直接返回卡片(或其他媒介)。
需要實現的場景:在快應用已經開啟A頁面的情況下,從卡片(或其他媒介)跳轉至快應用指定頁面B,點選左上角返回鍵能夠一鍵退出快應用,直接返回卡片(或其他媒介)。
問題分析
上述的問題現象是由於頁面採用了預設的啟動模式standard,"standard"模式時會每次開啟新的目標頁面(多次開啟目標頁面地址時會存在多個相同頁面),導致頁面棧中會依次快取頁面A,B,退出時頁面會依次出棧,無法一鍵返回。這裡建議使用者從卡片跳轉至快應用時,使用動態宣告的方式指定頁面B的啟動模式為clearTask即可解決。指定clearTask時,會直接清除原先的頁面A,開啟頁面B,如此頁面棧中只有頁面B存在,返回時即可直接退出快應用。
解決方法
卡片跳轉快應用示例程式碼(採用deeplink連結):
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>快應用測試</title> </head> <body> <a href="hwfastapp://com.huawei.hello1/Test?___PARAM_LAUNCH_FLAG___=clearTask">使用hwfastapp開啟</a> <br> <br> <a href="hap://app/com.huawei.hello1/Test?___PARAM_LAUNCH_FLAG___=clearTask">使用hap開啟</a> </body> </html>
卡片跳轉的快應用目標頁面(根據當前頁面棧的數量可以發現始終只有一個頁面):
<template> <div class="container"> <text>___PARAM_LAUNCH_FLAG___=</text> <text>{{taskflag}}</text> <text>當前頁面棧的數量</text> <text>{{length}}</text> </div> </template> <style> .container { flex-direction: column; align-content: center; align-items: center; justify-content: center; } text { margin-bottom: 50px; } </style> <script> import router from '@system.router'; export default { data: { // The default is the local app internal image photoUri: '/Common/logo.png', taskflag:'', PARAM_LAUNCH_FLAG:'', length:'' }, onInit() { this.$page.setTitleBar({ text: 'deepLink' }) var that=this; that.taskflag=this.PARAM_LAUNCH_FLAG; // 呼叫getPages方法 let pages = router.getPages() // 由於獲得的值是一個JSON陣列,所以直接列印是列印不出來的,可以使用下面的方法來列印 console.log("tag", this.printJSONArray(router.getPages())); that.length= router.getLength(); console.log("pages' length = "+that.length); }, printJSONArray(array) { let result = "" const suffix = ", " Array.isArray(array) && array.forEach((element, index) => { result = result + JSON.stringify(element) + (index === array.length-1 ? "" : ", ") }) return result } } </script>
建議與總結
1. 頁面啟動模式有兩種配置方式,一種是在manifest檔案中靜態宣告,一種是動態傳參宣告,建議使用動態模式,根據自己需要進行配置,靜態宣告的方式適用於單一固定場景,無法靈活調整。
參見文件:
https://developer.huawei.com/consumer/cn/doc/development/quickApp-References/quickapp-startupmode
2.deeplink文件:
https://developer.huawei.com/consumer/cn/doc/development/quickApp-Guides/quickapp-develop-deeplink
原文連結: https://developer.huawei.com/consumer/cn/forum/topic/0201441178593350400?fid=18
原作者:Mayism
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69970551/viewspace-2776270/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- weex生成的單頁應用嵌入app中,點選物理返回鍵時如何返回上一個路由頁面,而不是直接退出單頁應用,回到原生app頁面APP路由
- 點選連結跳轉到應用指定頁面
- 單頁應用巧用history.go()、history.length返回到歷史指定頁面Go
- Android 外部喚起應用跳轉指定頁面Android
- 如何從 SAP UI5 Not Found 頁面跳轉回到正常的應用頁面試讀版UI面試
- 快應用入門--頁面佈局篇
- 如何解決快應用頁面滑動卡頓問題
- ArkWeb頁面跳轉與跨應用導航 - 高階應用Web
- 教你如何在快應用中跳轉到Android的appAndroidAPP
- 教你一招H5快應用快速回到首頁H5
- 如何區分router.push跳轉快應用的來源渠道
- 快應用,快入門
- deeplink跳轉快應用返回出現兩次系統新增桌面的彈框
- 抖音私信卡片跳轉微信教程
- 初探快應用
- 單頁面應用和多頁面應用
- 瀏覽器內外跳 -- 跳轉到指定應用瀏覽器
- 單頁面應用微信分享跳坑指南
- 快應用是什麼軟體?快應用有什麼用?
- php怎麼直接跳轉頁面PHP
- APP直接跳轉設定頁面APP
- NFC 標籤:自動跳轉到指定應用
- 【快應用】十大手機廠商共推快應用標準
- jQuery點選平滑跳轉到頁面指定位置jQuery
- 快應用初體驗
- 世界盃日曆提醒小卡片:快用Python程式語言來實現它Python
- asyUI分頁中,如何實現頁面跳轉,再返回時,...UI
- 鴻蒙HarmonyOS實戰-Stage模型(開發卡片頁面)鴻蒙模型
- webpack如何打包多頁面應用(mpa)Web
- Android應用內外跳 — 跳轉到應用市場Android
- Android應用內外跳 -- 跳轉到應用市場Android
- nginx 設定 404 500 頁面跳轉到指定頁面Nginx
- 前端:你要懂的單頁面應用和多頁面應用前端
- vonic單頁面應用
- Win10系統如何清理應用商店快取_win10清理應用商店快取的方法Win10快取
- flutter 獲取應用快取以及清除快取Flutter快取
- 聽說"快應用"了沒?
- 快應用快速入門教程