W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
HarmonyOS 除了限制系統(tǒng)能力來保證駕駛員安全,同時提供了駕駛模式相關接口,允許開發(fā)者使用第三方能力庫來開發(fā)駕駛模式下可用的安全應用,本章節(jié)主要簡述如何開發(fā)駕駛模式下安全應用。
HarmonyOS 提供了駕駛模式管理類 DrivingSafetyManager,開發(fā)者可以使用該類的開放能力,開發(fā)符合駕駛模式安全要求的應用。
接口名 | 描述 |
---|---|
getRestraint() | 獲取當前系統(tǒng)在“駕駛模式”狀態(tài)下的約束條件。 |
isDrivingMode() | 查詢當前車輛是否處于“駕駛模式”狀態(tài)。 |
isDrivingSafety() | 判斷當前的應用是否是安全的。 |
開發(fā)一個應用具備如下能力:
HarmonyOS 車載應用需要開發(fā)者指定當前應用是否支持“駕駛模式”狀態(tài)。對于不支持駕駛模式狀態(tài)的應用,在汽車進入“駕駛模式”狀態(tài)后,不允許啟動,對于已經(jīng)啟動的應用也會凍結操作并退出。因此,開發(fā)者需要在應用配置文件(config.json)中"supported-modes"配置項中增加"drive"模式,以表示該應用支持“駕駛模式”狀態(tài),保證車輛在行駛過程中,應用可以正常運行。如下所示:
"abilities": {
"name": ".carlink",
"icon": "$carlink:icon",
"label": "carlink",
"supported-modes": ["drive"],
}
if (isDrivingSafety(context)) { // 判斷應用當前狀態(tài)是否是駕駛安全的
int restraintCode = DrivingSafetyManager.getRestraint(); // 獲取當前系統(tǒng)限制條件
if (restraintCode < 0) {
HiLog.error("GetRestraint error: %d", restraintCode);
return;
}
if (restraintCode == 0) { // 當前系統(tǒng)不受限
HiLog.error("No restraint");
return;
}
// 限制視頻播放
if (0x2 & restraintCode != 0) {
Player play = new Player(content); // 第三方視頻播放器
play.stop();
}
// 限制輸入法彈窗
if (0x4 & restraintCode != 0) {
InputMethodController mIMController = InputMethodController.getInstance(); // 第三方輸入法
mIMController.stopInput(InputMethodController.STOP_IM_NORMAL);
}
// 其他限制
...
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: