HarmonyOS的连接艺术之四:便捷访问系统功能

news/2024/10/20 13:13:48

本文旨在深入探讨华为鸿蒙HarmonyOS Next系统(截止目前API12)的技术细节,基于实际开发实践进行总结。
主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。
本文为原创内容,任何形式的转载必须注明出处及原作者。

HarmonyOS 系统提供了丰富的系统应用,例如相机、文件管理、联系人、设置、电话、日历等。开发者可以通过应用跳转功能,方便地调用这些系统应用,提升应用的功能性和用户体验。

使用系统 Picker 组件

系统 Picker 组件是一种便捷的方式,可以让用户选择系统资源,例如图片、文件、联系人等,而不需要申请额外的权限。以下是一些常用的系统 Picker 组件:
1. 相机

  • CameraPicker:用于拍照和录制视频。
  • BarcodeScannerPicker:用于扫描二维码或条形码。
  • CardRecognizerPicker:用于识别各类证件信息。
    示例代码
import { CameraPicker } from '@ohos.arkui.ability.camera';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const cameraPicker = new CameraPicker();cameraPicker.startCamera({type: CameraPickerType.PICTURE,onResult: (data) => {// 处理拍照结果}});}
}

2. 文件管理

  • DocumentViewPicker:用于访问和保存公共目录中的文档类文件。
  • AudioViewPicker:用于访问和保存公共目录的图片或视频文件。
    示例代码
import { DocumentViewPicker } from '@ohos.arkui.ability.filemanager';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const documentPicker = new DocumentViewPicker();documentPicker.startDocumentView({type: DocumentViewPickerType.ALL,onResult: (data) => {// 处理文档选择结果}});}
}

3. 联系人

  • ContactsPicker:用于选择联系人。
    示例代码
import { ContactsPicker } from '@ohos.arkui.ability.contacts';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const contactsPicker = new ContactsPicker();contactsPicker.startContacts({type: ContactsPickerType.ALL,onResult: (data) => {// 处理联系人选择结果}});}
}

使用特定接口

除了系统 Picker 组件,HarmonyOS 还提供了其他一些接口,可以用于跳转系统应用:
1. 设置

  • SettingAbility:用于打开设置应用。
    示例代码
import { common } from '@ohos.app.ability.common';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const context = this.getContext(this) as common.UIAbilityContext;const want: common.Want = {action: 'ohos.intent.action.SHOW_SETTINGS',uri: "appsetting"};context.startAbility(want);}
}

2. 电话

  • TelephonyKit 提供了 makeCall 接口,可以用于拨打电话。
    示例代码
import { Telephony } from '@ohos.arkui.ability.telephony';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const telephony = Telephony.getTelephony();telephony.makeCall("10086");}
}

3. 日历

  • CalendarAbility:用于打开日历应用。
    示例代码
import { common } from '@ohos.app.ability.common';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const context = this.getContext(this) as common.UIAbilityContext;const want: common.Want = {action: 'ohos.intent.action.SHOW_CALENDAR',uri: "calendar"};context.startAbility(want);}
}

举(N)个栗子

示例 1:使用 CameraPicker 拍照

import { CameraPicker } from '@ohos.arkui.ability.camera';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const cameraPicker = new CameraPicker();cameraPicker.startCamera({type: CameraPickerType.PICTURE,onResult: (data) => {// 处理拍照结果}});}
}

示例 2:使用 DocumentViewPicker 选择文档

import { DocumentViewPicker } from '@ohos.arkui.ability.filemanager';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const documentPicker = new DocumentViewPicker();documentPicker.startDocumentView({type: DocumentViewPickerType.ALL,onResult: (data) => {// 处理文档选择结果}});}
}

示例 3:使用 ContactsPicker 选择联系人

import { ContactsPicker } from '@ohos.arkui.ability.contacts';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const contactsPicker = new ContactsPicker();contactsPicker.startContacts({type: ContactsPickerType.ALL,onResult: (data) => {// 处理联系人选择结果}});}
}

示例 4:拨打电话

import { Telephony } from '@ohos.arkui.ability.telephony';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const telephony = Telephony.getTelephony();telephony.makeCall("10086");}
}

示例 5:打开设置应用

import { common } from '@ohos.app.ability.common';
export default class EntryAbility extends common.UIAbility {onWindowStageCreate(windowStage: common.WindowStage) {const context = this.getContext(this) as common.UIAbilityContext;const want: common.Want = {action: 'ohos.intent.action.SHOW_SETTINGS',uri: "appsetting"};context.startAbility(want);}
}

总结
拉起系统应用是应用间跳转的重要功能,它能够方便地调用系统应用,提升应用的功能性和用户体验,我们可以根据实际需求选择合适的系统应用类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73784.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

PbootCMS修改后台登录账号和密码

登录后台:使用当前的管理员账号和密码登录后台管理页面。修改密码:登录后,在右上角点击用户头像或用户名,通常会有一个下拉菜单。 选择“修改密码”或类似的选项。 在弹出的页面中,输入当前密码和新密码,然后保存。修改账号(可选):如果需要修改管理员账号,通常需要在…

pbootcms如何修改后台的登陆地址/账号以及密码呢?

修改后台登录地址 步骤备份文件:在进行任何修改前,请先备份 admin.php 文件,以防止意外情况发生。 备份命令示例(Linux):bashcp /path/to/your/project/admin.php /path/to/your/project/admin.php.bak重命名 admin.php 文件:将 admin.php 文件重命名为其他名称,例如 X…

PbootCMS安装后,默认的后台用户名和密码是多少,怎么登陆?

1. 默认后台路径路径: http://您的域名/admin.php例如,如果你的域名是 example.com,则后台路径为 http://example.com/admin.php2. 默认用户名和密码用户名: admin 密码: 1234563. 登录步骤打开浏览器:使用你喜欢的浏览器,如 Chrome、Firefox 等。输入后台路径:在浏览器地…

PBOOTCMS后台出现 登入失败:表单提交校验失败,刷新后重试

根据你的描述,问题可能是由于缓存文件导致的。以下是详细的解决步骤和解释: 1. 问题现象错误信息: “登入失败:表单提交校验失败,刷新后重试” 背景: 前一天还正常,程序无被黑痕迹,数据库账号密码正常,服务器环境未更改。2. 解决步骤删除 runtime 文件夹:路径: 根目录下的…

随意门导航zlibrary入口网站,如何获取

随意门导航 随意门导航是一个功能强大且内容丰富的网址导航网站。它为用户提供了便捷的互联网入口,集合了众多热门网站和实用工具,包括电子书下载、学术资源、生活工具、常用查询以及音乐在线听等多个板块。用户只需一键点击,即可快速访问所需资源,无需再费心搜索。随意门导…

团队作业1——团队展示

这个作业属于哪个课程 计科22级34班这个作业要求在哪里 作业要求这个作业的目标 团队介绍、成员展示、角色分配、选题确定一、团队展示 队名: 团队成员:姓名 学号木萨江米吉提 3122004960巴音才次克 3222004974李佳聪 3222004509杨睿 31220047551.木萨江米吉提:会基本的C、H…

IDEA社区版如何用tomcat运行war包

前言 我们在使用IDEA开发Java应用时,有时候需要运行的不是jar包,而是war包,但IDEA社区版默认是不支持tomcat容器的,无法直接运行war包。不过好在我们有一个强大的插件来支持我们使用tomcat,那么,我们应该如何操作呢? 如何配置smart tomcat 首先,我们打开设置面板。然后…

每天5分钟玩转C#/.NET之C#语言详细介绍

C#语言介绍C# 语言是适用于 .NET 平台(免费的跨平台开源开发环境)的最流行语言。C# 程序可以在许多不同的设备上运行,从物联网 (IoT) 设备到云以及介于两者之间的任何设备。可为手机、台式机、笔记本电脑和服务器编写应用。 C# 是一种跨平台的通用语言,可以让开发人员在编写…