使用隐式Want打开网址
以打开浏览器为例,假设设备上安装了一个或多个浏览器应用。为了使浏览器应用能够正常工作,需要在[module.json5配置文件]进行配置,具体配置如下: 开发前请熟悉鸿蒙开发指导文档 :[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"
}
]
}
]
}
]
}
}
在调用方UIAbility中,使用隐式Want方式启动浏览器应用。
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) = > {
// ...
})
匹配过程分析:
- 调用方传入的want参数的action不为空,待匹配目标应用组件的skills配置中的actions不为空且包含调用方传入的want参数的action,action匹配成功。
- 调用方传入的want参数的entities不为空,待匹配目标应用组件的skills配置中的entities不为空且包含调用方传入的want参数的entities,entities匹配成功。
- 待匹配目标应用组件的skills配置中内uris拼接为
https://www.test.com:8080/query*
(其中*表示通配符),包含调用方传入的want参数的uri,uri匹配成功。
当存在多个匹配的应用时,系统将弹出应用选择框供用户选择。示意效果如下图所示。
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
框架
+关注
关注
0文章
403浏览量
17507 -
鸿蒙
+关注
关注
57文章
2363浏览量
42887
发布评论请先 登录
相关推荐
鸿蒙Ability Kit(程序框架服务)【ServiceExtensionAbility】
[ServiceExtensionAbility]是SERVICE类型的ExtensionAbility组件,提供后台服务能力,其内部持有了一个[ServiceExtensionContext],通过[ServiceExtensionContext]提供了丰富的接口供外部使用。
鸿蒙Ability开发-Stage模型下Ability的创建和使用
函数
HiLog日志系统可以让应用按照指定类型、指定级别、指定格式字符串打印日志内容,帮助开发者了解应用/服务的运行状态,更好地调试程序。 HiLog提供了debug、info、warn、error以及fatal
发表于 01-08 15:34
HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)综述
一、综述
Intents Kit(意图框架服务)是HarmonyOS级的意图标准体系 ,意图连接了应用/元服务内的业务功能。
意图框架能帮开
发表于 11-28 10:43
跟阿斌一起学鸿蒙(2): Ability vs App?
OS的定位这需要从鸿蒙OS的自我定位说起:鸿蒙OS是一个**分布式操作系统**。## “单机”操作系统在我们目前常用的操作系统中,不管是手机还是电脑,App(Application,应用程序
发表于 11-30 20:56
跟阿斌一起学鸿蒙(2): Ability vs App?
OS的定位这需要从鸿蒙OS的自我定位说起:鸿蒙OS是一个**分布式操作系统**。## “单机”操作系统在我们目前常用的操作系统中,不管是手机还是电脑,App(Application,应用程序
发表于 12-02 16:55
HarmonyOS/OpenHarmony应用开发-信息传递载体Want使用
)。在隐式Want中,您可定义该字段,配合uri或parameters来表示对数据要执行的操作。如打开,查看该uri数据。例如,当uri为一段网址
发表于 02-06 10:28
HarmonyOS/OpenHarmony应用开发-stage使用隐示Want打开网址
前提条件设备上安装了一个或多个浏览器。1.创建stage项目2.新建一个Ability,名称为LlqAbility3.新建一个page页,并与新建的LlqAbility绑定4.浏览器应用中通过
发表于 02-08 10:39
鸿蒙Ability Kit(程序框架服务)【Ability与ServiceExtensionAbility通信】
本示例展示通过[IDL的方式]和 [@ohos.rpc] 等接口实现了Ability与ServiceExtensionAbility之间的通信。
鸿蒙Ability Kit(程序框架服务)【显式Want与隐式Want匹配规则】
在启动目标应用组件时,会通过显式[Want]或者隐式[Want]进行目标应用组件的匹配,这里说的匹配规则就是调用方传入的[
鸿蒙Ability Kit(程序框架服务)【应用间使用Want分享数据】
在应用使用场景中,用户经常需要将应用内的数据(如文字、图片等)分享至其他应用以供进一步处理。Want支持实现应用间的数据分享。
鸿蒙Ability Kit(程序框架服务)【应用启动框架AppStartup】
`AppStartup`提供了一种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的组件实现`AppStartup`提供
评论