新聞中心
這里有您想知道的互聯網營銷解決方案
創(chuàng)新互聯鴻蒙OS教程:鴻蒙OS開發(fā)駕駛模式支持應用
場景介紹

HarmonyOS 除了限制系統(tǒng)能力來保證駕駛員安全,同時提供了駕駛模式相關接口,允許開發(fā)者使用第三方能力庫來開發(fā)駕駛模式下可用的安全應用,本章節(jié)主要簡述如何開發(fā)駕駛模式下安全應用。
接口說明
HarmonyOS 提供了駕駛模式管理類 DrivingSafetyManager,開發(fā)者可以使用該類的開放能力,開發(fā)符合駕駛模式安全要求的應用。
| 接口名 | 描述 |
|---|---|
| getRestraint() | 獲取當前系統(tǒng)在“駕駛模式”狀態(tài)下的約束條件。 |
| isDrivingMode() | 查詢當前車輛是否處于“駕駛模式”狀態(tài)。 |
| isDrivingSafety() | 判斷當前的應用是否是安全的。 |
開發(fā)步驟
開發(fā)一個應用具備如下能力:
- 音樂播放能力。
- 通過彈框來顯示通知信息。
- 視頻播放能力(三方視頻播放開發(fā)庫)。
- 遵守地區(qū)法規(guī),在車輛行駛過程中不能彈框和播放視頻。
- 在開始構建應用之前,請務必遵守 HarmonyOS 的約束和限制。
- 為應用添加駕駛模式支持。
HarmonyOS 車載應用需要開發(fā)者指定當前應用是否支持“駕駛模式”狀態(tài)。對于不支持駕駛模式狀態(tài)的應用,在汽車進入“駕駛模式”狀態(tài)后,不允許啟動,對于已經啟動的應用也會凍結操作并退出。因此,開發(fā)者需要在應用配置文件(config.json)中"supported-modes"配置項中增加"drive"模式,以表示該應用支持“駕駛模式”狀態(tài),保證車輛在行駛過程中,應用可以正常運行。如下所示:
"abilities": {
"name": ".carlink",
"icon": "$carlink:icon",
"label": "carlink",
"supported-modes": ["drive"],
}
- 判斷當前系統(tǒng)是否處于“駕駛模式”狀態(tài),應用后臺通過調 isDrivingSafety()接口,判斷當前應用是否是駕駛安全的:
- 如果是非駕駛安全的,則通過 getRestraint() 接口獲取當前系統(tǒng)的限制條件,根據系統(tǒng)限制條件,對當前的應用做處理,例如禁止視頻播放,禁止輸入法彈框;
- 如果是駕駛安全的,則無需處理。
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);
}
// 其他限制
...
} 分享文章:創(chuàng)新互聯鴻蒙OS教程:鴻蒙OS開發(fā)駕駛模式支持應用
瀏覽路徑:http://www.5511xx.com/article/dpjesge.html


咨詢
建站咨詢
