鴻蒙OS 定制化系統(tǒng)能力約束

2020-09-18 17:53 更新

場景介紹

HarmonyOS 提供了系統(tǒng)能力管控接口,允許車廠開發(fā)類似“系統(tǒng)設(shè)置”類應(yīng)用,基于當(dāng)前車型限制條件下,車廠可以提供一些系統(tǒng)能力,允許用戶進行自定義管控策略。例如,某車型默認在“駕駛模式”狀態(tài)下不允許播放視頻,但可以允許消息彈出框正常彈出。用戶可以根據(jù)習(xí)慣,為了駕駛安全,將消息彈出框也做限制,不允許在“駕駛模式”狀態(tài)下彈出。本章節(jié)主要指導(dǎo)車廠如何使用定制化管控系統(tǒng)能力。

接口說明

HarmonyOS 提供的駕駛安全管控能力支持定制化管理,三方車廠可以通過 DrivingSafetyConfig 類的能力來開發(fā)管控類應(yīng)用。

說明

  1. 不同的車廠提供的能力不同,具體需要參考三方車廠能力限制說明;
  2. 該開放能力只對 OEM 車廠開放,普通三方開發(fā)者不可調(diào)用。
接口名 描述
getSysDrivingSafetyConfigure() 查詢指定的系統(tǒng)能力是否被管控。
setSysDrivingSafetyConfigure() 設(shè)定指定的系統(tǒng)能力是否被管控,具體需要參考三方車廠能力限制說明,不同車廠提供的限制能力不同。

目前,HarmonyOS提供了兩種系統(tǒng)能力管控的能力:

  • SysDrivingSafetyControlItems.DM_IME: 對系統(tǒng)輸入法做管控
  • SysDrivingSafetyControlItems.DM_Video: 對系統(tǒng)視頻播放器做管控
  • SysDrivingSafetyControlItems.DM_AUTO_RUN: 對自啟動做管控
  • SysDrivingSafetyControlItems.DM_REMOTE_CONTROL: 對遠程控制做管控
  • SysDrivingSafetyControlItems.DM_UPGRADE: 對升級做管控

開發(fā)步驟

  1. 當(dāng)開發(fā)者要查詢當(dāng)前的系統(tǒng)策略時,可以通過 getSysDrivingSafetyConfigure() 接口獲取。

  1. 當(dāng)開發(fā)者需要修改策略時,可以通過 setSysDrivingSafetyConfigure() 接口修改當(dāng)前系統(tǒng)能力管控策略。

   // 構(gòu)造查詢結(jié)果對象
   DrivingSafetyConfigResult result = new DrivingSafetyConfigResult();
   // 調(diào)查詢能力接口
   try{
       int errorCode = DrivingSafetyConfig.getSysDrivingSafetyConfigure(SysDrivingSafetyControlItems.DM_IME, result);
       if (errorCode != 0) {
           HiLog.error("Get DrivingSafetyConfig Error: %d", errorCode));
           return;
       }
       Boolean isOpen = false;
       if (!result.isOpen()){ // 當(dāng)前輸入法策略為非管控狀態(tài)
           isOpen = true; // 修改當(dāng)前輸入法策略為管控狀態(tài)
       }
       // 調(diào)用修改管控能力接口,修改管控策略
       errorCode = DrivingSafetyConfig.setSysDrivingSafetyConfigure(SysDrivingSafetyControlItems.DM_IME, isOpen);
       if (errorCode != 0) {
           HiLog.error("Set DrivingSafetyConfigre Error: %d", errorCode);
           return;
       }
   } catch (RemoteException | IllegalArgumentException e) {
       HiLog.error("System Error: %s", e.getMessage())
       return;
   }
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號