HarmonyOS 振动效果开发指导

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);
    }

相关推荐
猛扇赵四那边好嘴.5 小时前
Flutter 框架跨平台鸿蒙开发 - 非遗文化查询:传承中华文化瑰宝
flutter·华为·harmonyos
知南x7 小时前
【华为昇腾DVPP/AIPP学习篇】(1)工程结构介绍
学习·华为·昇腾·cann·dvpp
m0_685535087 小时前
Zemax光学设计MTF子午和弧矢分开大,
华为·光学·光学设计·光学工程·镜头设计
小风呼呼吹儿8 小时前
Flutter 框架跨平台鸿蒙开发 - 家庭用药清单:智能管理家庭药品
flutter·华为·harmonyos
纯爱掌门人8 小时前
鸿蒙端云一体化开发(二):云数据库
数据库·华为·harmonyos·端云一体化
小雨青年8 小时前
【鸿蒙原生开发会议随记 Pro】 数据存储架构 RelationalStore 在复杂资产管理中的应用
华为·架构·harmonyos
时光慢煮9 小时前
基于 Flutter × OpenHarmony 的文件管家 —— 构建文件类型分类区域
flutter·华为·开源·openharmony
时光慢煮10 小时前
跨端文件管理:Flutter 与 OpenHarmony 搜索栏实战
flutter·华为·开源·openharmony
djarmy10 小时前
跨平台Flutter 开源鸿蒙开发指南(三):使用thirdParty的dio库实现网络请求 示例
flutter·华为·harmonyos
Miguo94well11 小时前
Flutter框架跨平台鸿蒙开发——护眼提醒APP的开发流程
flutter·华为·harmonyos·鸿蒙