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文章
8630瀏覽量
145261 -
OpenHarmony
+關注
關注
29文章
3847瀏覽量
18473 -
鴻蒙OS
+關注
關注
0文章
191瀏覽量
4956
發布評論請先 登錄
相關推薦
熱點推薦
harmony-utils之JSONUtil,JSON工具類
,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、相冊、掃碼、文件、日志、異常捕獲、字符、字符串
harmony-utils之LocationUtil,定位相關工具類
實用工具類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、
harmony-utils之LogUtil,日志工具類
,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、相冊、掃碼、文件、日志,異常捕獲、字符、字符串
harmony-utils之ToastUtil,吐司工具類
類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、
harmony-utils之WantUtil,Want工具類
實用工具類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了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
【「極速探索HarmonyOS NEXT 」閱讀體驗】 初印象:一本純血鴻蒙應用開發入門的好書
非常有幸的于近日收到了電子發燒友寄來的《 極速探索HarmonyOS NEXT **** 純血鴻蒙應用開發實踐》這本由清華大學出版社出版的一本純血鴻蒙應用開發學習的一本好書。
書籍一共
發表于 03-04 12:41
鴻蒙原生頁面高性能解決方案上線OpenHarmony社區 助力打造高性能原生應用
隨著HarmonyOS NEXT的正式推出,鴻蒙原生應用開發熱度高漲,數量激增。但在三方應用鴻蒙化進程中,性能問題頻出。為此,HarmonyOS NEXT推出了一整套原生頁面高性能解決
發表于 01-02 18:00
鴻蒙原生開發手記:04-一個完整元服務案例
。
代碼
查看 entry/src/main/etc/pages/ 目錄,整個應用分為了四個頁面。
其路由在 entry/src/main/resources/base/profile
發表于 12-27 10:35
評論