OpenHarmony之如何實現(xiàn)震動。
作者“堅果,華為云享專家,InfoQ簽約作者,潤和軟件KOL專家,電子發(fā)燒友鴻蒙MVP,51CTO博客專家博主,阿里云博客專家,開源項目gin-vue-admin成員之一
馬達振動服務通過細膩精致的一體化振動體驗和差異化體驗,提升用戶交互效率和易用性、提升用戶體驗。
運作機制
Vibrator屬于控制類小器件,主要包含以下四個模塊:Vibrator API,Vibrator Framework,Vibrator Service和HDF層。
控制類小器件中的Vibrator
Vibrator API:提供振動器基礎的API,主要包含振動器的列表查詢,振動器的振動器效果查詢,觸發(fā)/關閉振動器等接口。
Vibrator Framework:實現(xiàn)振動器的框架層管理,實現(xiàn)與控制類小器件Service的通信。
Vibrator Service:實現(xiàn)控制器的服務管理。
HDF層:適配不同設備。
接下來我們就看一下如何實現(xiàn)一個簡單的震動器。
效果預覽
1.配置權限
控制設備上的振動器,需要在config.json
里面進行配置請求權限。具體如下:
"reqPermissions": [
{
"name": "ohos.permission.VIBRATE"
}
]
2. 導入模塊
import vibrator from '@ohos.vibrator';
function vibrate(duration: number, callback?: AsyncCallback): void;
表示按照指定持續(xù)時間觸發(fā)馬達振動。duration表示馬達振動的持續(xù)時間,callback馬達執(zhí)行振動的回調函數(shù),指示觸發(fā)振動是否成功。
3.觸發(fā)設備振動。
vibrator.vibrate(10000, (error) => {
if (error) {//調用失敗,打印error.code和error.message
console.info("Promise return failed.error.code " + error.code + "error.message " + error.message);
this.content="失敗"
} else { //調用成功,設備開始振動
console.info("Promise returned to indicate a successful vibration.")
this.content="成功"
?
}
?
?
}
完整代碼
?
/**
* @ProjectName : nutsStudy
* @FileName : viberation
* @Author : 堅果
* @Time : 2022/8/15 11:15
* @Description : 震動
*/
import vibrator from "@ohos.vibrator"
?
@Entry
@Component
struct ViberSample {
@State content: string = "是否震動";
?
build() {
?
Column() {
?
?
Button(this.content)
.width(200)
.height(80)
.fontSize(30)
.fontColor(Color.Orange)
.onClick(() => {
?
?
vibrator.vibrate(10000, (error) => {
if (error) { //調用失敗,打印error.code和error.message
console.info("Promise return failed.error.code " + error.code + "error.message " + error.message);
this.content = "失敗"
} else { //調用成功,設備開始振動
console.info("Promise returned to indicate a successful vibration.")
this.content = "成功"
}
}
?
)
}
)
?
?
?
}.width("100%").height("100%").justifyContent(FlexAlign.Center)
}
}
完畢。
審核編輯:湯梓紅
-
開源
+關注
關注
3文章
3380瀏覽量
42601 -
馬達
+關注
關注
1文章
823瀏覽量
62359 -
振動器
+關注
關注
1文章
36瀏覽量
6500 -
OpenHarmony
+關注
關注
25文章
3731瀏覽量
16425
發(fā)布評論請先 登錄
相關推薦
評論