0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙Ability Kit(程序框架服务)【使用隐式Want打开网址】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-07 09:51 次阅读

使用隐式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"
              }
            ]
          }
        ]
      }
    ]
  }
}

新文档.png

在调用方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) = > {
  // ...
})

匹配过程分析:

  1. 调用方传入的want参数的action不为空,待匹配目标应用组件的skills配置中的actions不为空且包含调用方传入的want参数的action,action匹配成功。
  2. 调用方传入的want参数的entities不为空,待匹配目标应用组件的skills配置中的entities不为空且包含调用方传入的want参数的entities,entities匹配成功。
  3. 待匹配目标应用组件的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]提供了丰富的接口供外部使用。
    的头像 发表于 06-04 14:50 1210次阅读
    <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'>服务</b>)【ServiceExtensionAbility】

    鸿蒙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框架:【@ohos.application.Want (Want)】

    Want模块提供系统的基本通信组件的能力。
    的头像 发表于 05-11 09:39 422次阅读
    <b class='flag-5'>鸿蒙</b>开发接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@ohos.application.<b class='flag-5'>Want</b> (<b class='flag-5'>Want</b>)】

    鸿蒙应用模型:【Ability Kit】简介

    Ability Kit程序框架服务)提供了应用程序开发和运行的应用模型,是系统为开发者提供的应
    的头像 发表于 05-29 14:41 669次阅读
    <b class='flag-5'>鸿蒙</b>应用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】简介

    鸿蒙Ability Kit程序框架服务)【Ability内页面间的跳转】

    基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。
    的头像 发表于 06-03 20:43 305次阅读
    <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'>服务</b>)【<b class='flag-5'>Ability</b>内页面间的跳转】

    鸿蒙Ability Kit程序框架服务)【Ability与ServiceExtensionAbility通信】

    本示例展示通过[IDL的方式]和 [@ohos.rpc] 等接口实现了Ability与ServiceExtensionAbility之间的通信。
    的头像 发表于 06-05 09:28 501次阅读
    <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'>服务</b>)【<b class='flag-5'>Ability</b>与ServiceExtensionAbility通信】

    鸿蒙Ability Kit程序框架服务)【Want概述】

    [Want]是一种对象,用于在应用组件之间传递信息。
    的头像 发表于 06-06 09:16 526次阅读
    <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'>服务</b>)【<b class='flag-5'>Want</b>概述】

    鸿蒙Ability Kit程序框架服务)【显WantWant匹配规则】

    在启动目标应用组件时,会通过显[Want]或者[Want]进行目标应用组件的匹配,这里说的匹配规则就是调用方传入的[
    的头像 发表于 06-06 14:30 550次阅读
    <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'>服务</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>匹配规则】

    鸿蒙Ability Kit程序框架服务)【应用间使用Want分享数据】

    在应用使用场景中,用户经常需要将应用内的数据(如文字、图片等)分享至其他应用以供进一步处理。Want支持实现应用间的数据分享。
    的头像 发表于 06-07 15:19 371次阅读
    <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'>服务</b>)【应用间使用<b class='flag-5'>Want</b>分享数据】

    鸿蒙Ability Kit程序框架服务)【应用启动框架AppStartup】

    `AppStartup`提供了一种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的组件实现`AppStartup`提供
    的头像 发表于 06-10 18:38 720次阅读