HarmonyOS 振动效果开发指导

2023-12-05

Vibrator 开发概述

振动器模块服务最大化开放硬工最新马达器件能力,通过拓展原生马达服务实现振动与交互融合设计,打造细腻精致的一体化振动体验和差异化体验,提升用户交互效率和易用性、提升用户体验、增强品牌竞争力。

运作机制

Vibrator 属于控制类小器件,主要包含以下四个模块:Vibrator API,Vibrator Framework,Vibrator Service 和 HDF 层。

图 1 控制类小器件中的 Vibrator

● Vibrator API:提供振动器基础的 API,主要包含振动器的列表查询,振动器的振动器效果查询,触发/关闭振动器等接口。

● Vibrator Framework:实现振动器的框架层管理,实现与控制类小器件 Service 的通信。

● Vibrator Service:实现控制器的服务管理。

● HDF 层:适配不同设备。

约束与限制

在使用振动器时,开发者需要配置请求振动器的权限 ohos.permission.VIBRATE,才能控制振动器振动。

Vibrator 开发指导

场景介绍

当设备需要设置不同的振动效果时,可以调用 Vibrator 模块,例如:设备的按键可以设置不同强度和不同时长的振动,闹钟和来电可以设置不同强度和时长的单次或周期振动。

详细的接口介绍请参考 Vibrator接口

接口说明

开发步骤

1.  控制设备上的振动器,需要申请权限 ohos.permission.VIBRATE。具体配置方式请参考 权限申请声明

2.  根据指定振动效果和振动属性触发马达振动。

import vibrator from '@ohos.vibrator';
try {
    vibrator.startVibration({
        type: 'time',
        duration: 1000,
    }, {
        id: 0,
        usage: 'alarm'
    }, (error) => {
        if (error) {
            console.error('vibrate fail, error.code: ' + error.code + 'error.message: ', + error.message);
            return;
        }
        console.log('Callback returned to indicate a successful vibration.');
    });
} catch (err) {
    console.error('errCode: ' + err.code + ' ,msg: ' + err.message);
}

3.  按照指定模式停止马达的振动。

import vibrator from '@ohos.vibrator';
try {
  // 按照VIBRATOR_STOP_MODE_TIME模式停止振动
  vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, function (error) {
      if (error) {
          console.log('error.code' + error.code + 'error.message' + error.message);
          return;
      }
      console.log('Callback returned to indicate successful.');
  })
} catch (err) {
  console.info('errCode: ' + err.code + ' ,msg: ' + err.message);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HarmonyOS 振动效果开发指导 的相关文章

随机推荐

  • AI大模型专题:北京市人工智能行业大模型创新应用白皮书

    今天分享的是人工智能系列深度研究报告 AI大模型专题 北京市人工智能行业大模型创新应用白皮书 报告出品方 北京市科学技术委员会 中关村科技园区管理委员会 报告共计 72页 海量 完整电子版 报告下载方式 公众号 人工智能学派 综述 作为新一
  • 学生犯错误老师应该怎么教育

    作为一名老师 当学生犯错误时 我们需要采取一些措施来帮助他们改正错误并学习如何更好地处理问题 以下是我作为一名老师会采取的几个步骤 进行私下谈话 了解他们为什么犯错误 我会听取他们的解释 并尝试理解他们的动机 这样做可以让我更好地了解学生的
  • 允许root远程连接数据库

    开放root远程连接数据库的权限 Linux系统 环境 centos7 关闭防火墙 没关要开放数据库的端口 一 进入数据库 查看权限表信息 MariaDB none gt use mysql Reading table informatio
  • 为什么最近听说 Go 岗位很少很难?

    大家好 我是煎鱼 其实这个话题已经躺在我的 TODO 里很久了 近来很多社区的小伙伴都私下来交流 也有在朋友圈看到朋友吐槽 Go 上海的大会没什么人 还不如 Rust 大会 比较尴尬 今天主要是看看为什么 Go 岗位看起来近来很难的样子 也
  • 计算机组成与设计:硬件/软件接口,第三章详细梳理,附思维导图

    文章目录 三 计算机的运算 章节导图 一 整数的表示 无符号整数 原码 反码 原码是带符号整数的表示方法
  • Liunx常用基础命令

    目录 liunx常用命令基础 1 cd命令 2 ls命令 3 pwd命令 4 touch命令 5 head命令 6 cat命令 7 more命令
  • 网络安全日报 2023年12月04日

    1 研究人员披露Lazarus组织已窃取价值30亿美元加密货币 https go recordedfuture com hubfs reports cta 2023 1130 pdf 至少自2017年以来 来自朝鲜的Lazarus组织越来越
  • Linux(13):例行性工作排程

    例行性工程 听谓的排程是将工作安排执行的流程之意 Linux 排程就是透过 crontab 与 at 这两个东西 两种工作排程的方式 一种是例行性的 就是每隔一定的周期要来办的事项 一种是突发性的 就是这次做完以后就没有的那一种 at at
  • 软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究

    变量 什么是变量 变量是在程序中用于存储数据的名称 它们可以存储各种类型的数据 比如数字 文本 列表 字典等等 变量类型 在介绍变量时 可以提及 Python 中常见的变量类型 例如整数 浮点数 字符串 布尔值 列表 元组 字典等 如下所示
  • 分享一个字节面试题:如何实现准时的setTimeout

    最近有同学在面试的时候被问到了这个问题 所以我们利用这篇文章对这个问题进行下解答 背景 setTimeout 是 不准 的 因为 setTimeout 是一个宏任务 它的指定时间指的是 进入主线程的时间 setTimeout callbac
  • span标签点击去掉光标

    很简单 一行样式搞定 caret color transparent
  • 对象转成json后转成byte[]后在转成string会提示序列化失败,第一个字符是问号

    问题复现 一个对象需要转成json 后转成byte 后经过网络传输 后再次反序列化为对象 但是最后反序列的时候会报错 打印json发现开头是一个问号 省流 使用这个进行反序列化
  • 【JavaScript】2.1 高级语法特性

    在JavaScript的基础部分 我们已经学习了变量 数据类型 操作符 流程控制 函数 事件和DOM操作等基础知识 接下来 我们将学习一些JavaScript的高级语法特性 包括闭包 原型和原型链 作用域和作用域链 异步编程和Promise
  • 网站防盗链是什么

    随着互联网的快速发展 网站的安全问题越来越受到关注 其中 防盗链是许多网站面临的一个重要问题 本文将介绍网站防盗链的基本概念 原因以及如何采取措施进行保护 一 什么是网站防盗链 网站防盗链是指未经授权的网站通过技术手段获取并使用其他网站的资
  • 微信扫码登录修改二维码的样式

    默认是这个样子二维码都没有展示全 微信的了的 js 对象是这个样子 既然大家看到我这篇文章 想必里面的属性已经知道了 这里不做赘述 let href data text css base64 LmltcG93ZXJCb3ggLnFyY29k
  • python+requests接口自动化测试框架实例详解教程

    前段时间由于公司测试方向的转型 由原来的web页面功能测试转变成接口测试 之前大多都是手工进行 利用postman和jmeter进行的接口测试 后来 组内有人讲原先web自动化的测试框架移驾成接口的自动化框架 使用的是java语言 但对于一
  • MN316 OpenCPU丨Flash使用介绍

    在MN316 标准版SDK中 定义了操作模组内置flash接口 用户可操作空间为64KB 分为16个block 每个block大小为4KB 用户如有操作flash的需求 可调用相关接口 FOTA使用流程解析 以下流程图为使用 MN316 O
  • 聊聊刻意练习-构建心理表征

    这是鼎叔的第八十一篇原创文章 行业大牛和刚毕业的小白 都可以进来聊聊 欢迎关注本专栏和微信公众号 敏捷测试转型 星标收藏 大量原创思考文章陆续推出 本人新书 无测试组织 测试团队的敏捷转型 已出版 机械工业出版社 各大电商平台热销中 30万
  • enable_shared_from_this使用介绍

    文章目录 enable shared from this定义 使用场合 源码实现 注意 enable shared from this定义 定义于头文件 template lt class T gt class enable shared
  • HarmonyOS 振动效果开发指导

    Vibrator 开发概述 振动器模块服务最大化开放硬工最新马达器件能力 通过拓展原生马达服务实现振动与交互融合设计 打造细腻精致的一体化振动体验和差异化体验 提升用户交互效率和易用性 提升用户体验 增强品牌竞争力 运作机制 Vibrato