鴻蒙OS 開發(fā)駕駛模式支持應用

2020-09-18 17:53 更新

場景介紹

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ī),在車輛行駛過程中不能彈框和播放視頻。

  1. 在開始構建應用之前,請務必遵守 HarmonyOS 的約束和限制。

  1. 為應用添加駕駛模式支持。

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"],
   }

  1. 判斷當前系統(tǒng)是否處于“駕駛模式”狀態(tài),應用后臺通過調(diào) isDrivingSafety()接口,判斷當前應用是否是駕駛安全的:

  • 如果是非駕駛安全的,則通過 getRestraint() 接口獲取當前系統(tǒng)的限制條件,根據(jù)系統(tǒng)限制條件,對當前的應用做處理,例如禁止視頻播放,禁止輸入法彈框;

  • 如果是駕駛安全的,則無需處理。

img

     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);
         }
         // 其他限制
         ...
     }
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號