好用的搜索引擎上海網(wǎng)站排名seo公司
Vibrator 開發(fā)概述
振動器模塊服務(wù)最大化開放硬工最新馬達器件能力,通過拓展原生馬達服務(wù)實現(xiàn)振動與交互融合設(shè)計,打造細膩精致的一體化振動體驗和差異化體驗,提升用戶交互效率和易用性、提升用戶體驗、增強品牌競爭力。
運作機制
Vibrator 屬于控制類小器件,主要包含以下四個模塊:Vibrator?API,Vibrator?Framework,Vibrator?Service 和 HDF 層。
圖 1?控制類小器件中的 Vibrator
●?Vibrator?API:提供振動器基礎(chǔ)的 API,主要包含振動器的列表查詢,振動器的振動器效果查詢,觸發(fā)/關(guān)閉振動器等接口。
●?Vibrator?Framework:實現(xiàn)振動器的框架層管理,實現(xiàn)與控制類小器件 Service 的通信。
●?Vibrator?Service:實現(xiàn)控制器的服務(wù)管理。
●?HDF 層:適配不同設(shè)備。
約束與限制
在使用振動器時,開發(fā)者需要配置請求振動器的權(quán)限 ohos.permission.VIBRATE,才能控制振動器振動。
Vibrator 開發(fā)指導(dǎo)
場景介紹
當設(shè)備需要設(shè)置不同的振動效果時,可以調(diào)用 Vibrator 模塊,例如:設(shè)備的按鍵可以設(shè)置不同強度和不同時長的振動,鬧鐘和來電可以設(shè)置不同強度和時長的單次或周期振動。
詳細的接口介紹請參考Vibrator接口。
接口說明
開發(fā)步驟
1.? 控制設(shè)備上的振動器,需要申請權(quán)限 ohos.permission.VIBRATE。具體配置方式請參考權(quán)限申請聲明。
2.? 根據(jù)指定振動效果和振動屬性觸發(fā)馬達振動。
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);
}