import common from '@ohos.app.ability.common';
import router from '@ohos.router'
封裝app內的頁面之間跳轉、app與app之間的跳轉工具類
【使用要求】
DevEco Studio 3.1.1 Release
api 9
【使用示例】
import MyRouterUtil from '../common/utils/MyRouterUtil'
MyRouterUtil.openBrowser('https://www.baidu.com')
export default class MyRouterUtil {
//日志過濾器
static readonly LOG: string = "====MyRouterUtil"
/**
* 鴻蒙APP跳轉到手機瀏覽器并打開網頁
* @param url 打開網頁后展示的url地址
*/
public static async openBrowser(url: string) {
try {
let want = {
"action": "ohos.want.action.viewData",
"entities": ["entity.system.browsable"],
"uri": url,
"type": "text/plain"
}
let context = getContext(this) as common.UIAbilityContext;
await context.startAbility(want)
console.info(MyRouterUtil.LOG, 'openBrowser', url)
} catch (error) {
console.error(MyRouterUtil.LOG, 'openBrowser', `${error.code},url:${url}`)
}
}
返回上一頁
public static backPage() {
router.back()
console.info(MyRouterUtil.LOG, 'backPage', '判斷棧內頁面數:', router.getLength())
}
在鴻蒙APP內打開網頁
常用來打開隱私聲明、用戶協議等
@param url
public static async openWeb(url: string) {
try {
await router.pushUrl({
url: 'pages/Web', //這個頁面是我自己創建的,用于展示網頁。里面可根據url的參數決定是否顯示原生的標題欄。
params: {
launchWebview: url
}
}, router.RouterMode.Standard)
console.info(MyRouterUtil.LOG, 'openWeb', url)
} catch (e) {
console.error(MyRouterUtil.LOG, 'openWeb', JSON.stringify(e), 'url:', url)
}
}
| 鴻蒙OS開發 | 更多內容↓點擊 | HarmonyOS與OpenHarmony技術 |
|---|---|---|
| 鴻蒙技術文檔 | 開發知識更新庫gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在這。 | 或+mau123789學習,是v喔 |

獲取當前內存中,跑轉到web頁時保存的參數
public static getParamsByWeb() {
let url = JSON.parse(JSON.stringify(router.getParams())).launchWebview
console.info(MyRouterUtil.LOG, 'getParamsByWeb', url)
return url
}
跳轉到首頁,需要在首頁Index中
public static async openIndex() {
try {
await router.pushUrl({
url: 'pages/Index'
}, router.RouterMode.Single)
console.info(MyRouterUtil.LOG, 'openIndex', 'succ')
router.clear()
} catch (e) {
console.error(MyRouterUtil.LOG, 'openIndex', JSON.stringify(e))
}
}
跳轉到登錄頁
public static async openLogin() {
try {
await router.pushUrl({
url: 'pages/Login'
}, router.RouterMode.Standard)
console.info(MyRouterUtil.LOG, 'openLogin', 'succ')
} catch (e) {
console.error(MyRouterUtil.LOG, 'openLogin', JSON.stringify(e))
}
}
}
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
封裝
+關注
關注
128文章
9249瀏覽量
148614 -
OpenHarmony
+關注
關注
33文章
3952瀏覽量
21096 -
鴻蒙OS
+關注
關注
0文章
193瀏覽量
5482
發布評論請先 登錄
相關推薦
熱點推薦
知乎開源“智能預渲染框架” 幾行代碼實現鴻蒙應用頁面“秒開”
,交互延遲等核心痛點,通過智能預測用戶瀏覽目標進行提前渲染,只需幾行代碼即可顯著提升復雜頁面的加載性能,實現“頁面秒開”的高效體驗,為鴻蒙開發者帶來
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融
harmony-utils之JSONUtil,JSON工具類
,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、相冊、掃碼、文件、日志、異常捕獲、字符、字符串
harmony-utils之LocationUtil,定位相關工具類
實用工具類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、
harmony-utils之LogUtil,日志工具類
,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、相冊、掃碼、文件、日志,異常捕獲、字符、字符串
harmony-utils之LRUCacheUtil,LRUCache緩存工具類
,借助眾多實用工具類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授
harmony-utils之RegexUtil,正則工具類
類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、
harmony-utils之WindowUtil,窗口相關工具類
實用工具類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、
harmony-utils之TempUtil,溫度轉換工具類
實用工具類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、
鴻蒙5開發寶藏案例分享---性能優化案例解析
鴻蒙性能優化寶藏指南:實戰工具與代碼案例解析
大家好呀!今天在翻鴻蒙開發者文檔時,意外挖到一個 性能優化寶藏庫 ——原來官方早就提供了超多實用工具
發表于 06-12 16:36
鴻蒙5開發寶藏案例分享---一多開發實例(旅行訂票)
? 鴻蒙開發寶藏大發現!一多開發實戰案例解析(旅行訂票篇)
大家好!今天在翻鴻蒙開發者文檔時,意外發現了官方藏著一整片\"案例綠洲\"!尤其
發表于 06-03 16:16
鴻蒙5開發寶藏案例分享---一多開發實例(長視頻)
;實例,看完直呼\"原來還能這樣玩!\" 今天咱們就來好好扒一扒這些隱藏的寶藏,附帶手把手的代碼解析!
?** 長視頻應用案例:一次開發征服四類設備**
核心功能 :首頁瀑布流
發表于 06-03 15:58
鴻蒙北向開發OpenHarmony5.0 DevEco Studio開發工具安裝與配置
本文介紹OpenHarmony5.0 DevEco Studio開發工具安裝與配置,鴻蒙北向開發入門必備!由觸覺智能Purple Pi OH鴻蒙開發
Get這個秘籍,鴻蒙原生應用頁面滑動絲滑無比
在鴻蒙應用開發中,部分應用頁面在滑動時會出現白塊或白屏的問題,不僅困擾開發者,還直接影響用戶體驗。針對這一痛點,華為近期分別推出了針對鴻蒙原
發表于 03-06 14:41
鴻蒙OS開發實例:【工具類封裝-頁面路由】
評論