使用隱式Want打開網(wǎng)址
以打開瀏覽器為例,假設(shè)設(shè)備上安裝了一個或多個瀏覽器應(yīng)用。為了使瀏覽器應(yīng)用能夠正常工作,需要在[module.json5配置文件]進行配置,具體配置如下: 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
{
"module": {
"abilities": [
{
// 入口配置
"skills": [
{
"actions": [
"action.system.home"
],
"entities": [
"entity.system.home"
]
},
// 瀏覽器配置
{
"actions": [
"ohos.want.action.viewData"
],
"entities": [
"entity.system.browsable"
],
"uris": [{
"scheme": "https",
"host": "www.test.com",
"port": "8080",
"pathStartWith": "query"
},
{
"scheme": "http"
}
]
}
]
}
]
}
}
在調(diào)用方UIAbility中,使用隱式Want方式啟動瀏覽器應(yīng)用。
import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
import { BusinessError } from '@ohos.base';
let context = getContext(this) as common.UIAbilityContext;
let wantInfo: Want = {
// uncomment line below if wish to implicitly query only in the specific bundle.
// bundleName: 'com.example.myapplication',
action: 'ohos.want.action.viewData',
// entities can be omitted.
entities: ['entity.system.browsable'],
uri: 'https://www.test.com:8080/query/student'
}
context.startAbility(wantInfo).then(() = > {
// ...
}).catch((err: BusinessError) = > {
// ...
})
匹配過程分析:
- 調(diào)用方傳入的want參數(shù)的action不為空,待匹配目標應(yīng)用組件的skills配置中的actions不為空且包含調(diào)用方傳入的want參數(shù)的action,action匹配成功。
- 調(diào)用方傳入的want參數(shù)的entities不為空,待匹配目標應(yīng)用組件的skills配置中的entities不為空且包含調(diào)用方傳入的want參數(shù)的entities,entities匹配成功。
- 待匹配目標應(yīng)用組件的skills配置中內(nèi)uris拼接為
https://www.test.com:8080/query*
(其中*表示通配符),包含調(diào)用方傳入的want參數(shù)的uri,uri匹配成功。
當存在多個匹配的應(yīng)用時,系統(tǒng)將彈出應(yīng)用選擇框供用戶選擇。示意效果如下圖所示。
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17543 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2392瀏覽量
43055
發(fā)布評論請先 登錄
相關(guān)推薦
鴻蒙Ability Kit(程序框架服務(wù))【ServiceExtensionAbility】
[ServiceExtensionAbility]是SERVICE類型的ExtensionAbility組件,提供后臺服務(wù)能力,其內(nèi)部持有了一個[ServiceExtensionContext],通過[ServiceExtensionContext]提供了豐富的接口供外部使用。
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【ServiceExtensionAbility】](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙Ability開發(fā)-Stage模型下Ability的創(chuàng)建和使用
函數(shù)
HiLog日志系統(tǒng)可以讓應(yīng)用按照指定類型、指定級別、指定格式字符串打印日志內(nèi)容,幫助開發(fā)者了解應(yīng)用/服務(wù)的運行狀態(tài),更好地調(diào)試程序。 HiLog提供了debug、info、warn、error以及fatal
發(fā)表于 01-08 15:34
HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Intents Kit(意圖框架服務(wù))綜述
一、綜述
Intents Kit(意圖框架服務(wù))是HarmonyOS級的意圖標準體系 ,意圖連接了應(yīng)用/元服務(wù)內(nèi)的業(yè)務(wù)功能。
意圖框架能幫開
發(fā)表于 11-28 10:43
跟阿斌一起學(xué)鴻蒙(2): Ability vs App?
OS的定位這需要從鴻蒙OS的自我定位說起:鴻蒙OS是一個**分布式操作系統(tǒng)**。## “單機”操作系統(tǒng)在我們目前常用的操作系統(tǒng)中,不管是手機還是電腦,App(Application,應(yīng)用程序
發(fā)表于 11-30 20:56
跟阿斌一起學(xué)鴻蒙(2): Ability vs App?
OS的定位這需要從鴻蒙OS的自我定位說起:鴻蒙OS是一個**分布式操作系統(tǒng)**。## “單機”操作系統(tǒng)在我們目前常用的操作系統(tǒng)中,不管是手機還是電腦,App(Application,應(yīng)用程序
發(fā)表于 12-02 16:55
HarmonyOS/OpenHarmony應(yīng)用開發(fā)-信息傳遞載體Want使用
)。在隱式Want中,您可定義該字段,配合uri或parameters來表示對數(shù)據(jù)要執(zhí)行的操作。如打開,查看該uri數(shù)據(jù)。例如,當uri為一段網(wǎng)址
發(fā)表于 02-06 10:28
HarmonyOS/OpenHarmony應(yīng)用開發(fā)-stage使用隱示Want打開網(wǎng)址
前提條件設(shè)備上安裝了一個或多個瀏覽器。1.創(chuàng)建stage項目2.新建一個Ability,名稱為LlqAbility3.新建一個page頁,并與新建的LlqAbility綁定4.瀏覽器應(yīng)用中通過
發(fā)表于 02-08 10:39
鴻蒙應(yīng)用模型:【Ability Kit】簡介
Ability Kit(程序框架服務(wù))提供了應(yīng)用程序開發(fā)和運行的應(yīng)用模型,是系統(tǒng)為開發(fā)者提供的應(yīng)
![<b class='flag-5'>鴻蒙</b>應(yīng)用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡介](https://file1.elecfans.com/web2/M00/EA/1B/wKgZomZWzLmARq9xAABl2Ql50bI212.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【Ability內(nèi)頁面間的跳轉(zhuǎn)】
基于Stage模型下的Ability開發(fā),實現(xiàn)Ability內(nèi)頁面間的跳轉(zhuǎn)和數(shù)據(jù)傳遞。
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【<b class='flag-5'>Ability</b>內(nèi)頁面間的跳轉(zhuǎn)】](https://file1.elecfans.com/web2/M00/E3/5B/wKgaomY7dICAanabAG9fQxOwEh0579.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【Ability與ServiceExtensionAbility通信】
本示例展示通過[IDL的方式]和?[@ohos.rpc]?等接口實現(xiàn)了Ability與ServiceExtensionAbility之間的通信。
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【<b class='flag-5'>Ability</b>與ServiceExtensionAbility通信】](https://file1.elecfans.com/web2/M00/EC/91/wKgaomZfBTaAUYFaAAIK5_JVZ4U512.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【顯式Want與隱式Want匹配規(guī)則】
在啟動目標應(yīng)用組件時,會通過顯式[Want]或者隱式[Want]進行目標應(yīng)用組件的匹配,這里說的匹配規(guī)則就是調(diào)用方傳入的[
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【顯<b class='flag-5'>式</b><b class='flag-5'>Want</b>與<b class='flag-5'>隱</b><b class='flag-5'>式</b><b class='flag-5'>Want</b>匹配規(guī)則】](https://file1.elecfans.com/web2/M00/ED/10/wKgaomZhV1yAQE_mAADtnsy98ek434.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【應(yīng)用間使用Want分享數(shù)據(jù)】
在應(yīng)用使用場景中,用戶經(jīng)常需要將應(yīng)用內(nèi)的數(shù)據(jù)(如文字、圖片等)分享至其他應(yīng)用以供進一步處理。Want支持實現(xiàn)應(yīng)用間的數(shù)據(jù)分享。
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【應(yīng)用間使用<b class='flag-5'>Want</b>分享數(shù)據(jù)】](https://file1.elecfans.com/web2/M00/ED/58/wKgaomZis9qAfyXtAAEHOeSCSko791.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【應(yīng)用啟動框架AppStartup】
`AppStartup`提供了一種更加簡單高效的初始化組件的方式,支持異步初始化組件加速應(yīng)用的啟動時間。使用啟動框架應(yīng)用開發(fā)者只需要分別為待初始化的組件實現(xiàn)`AppStartup`提供
評論