
HarmonyOS 提供了系统能力管控接口,允许车厂开发类似“系统设置”类应用,基于当前车型限制条件下,车厂可以提供一些系统能力,允许用户进行自定义管控策略。例如,某车型默认在“驾驶模式”状态下不允许播放视频,但可以允许消息弹出框正常弹出。用户可以根据习惯,为了驾驶安全,将消息弹出框也做限制,不允许在“驾驶模式”状态下弹出。本章节主要指导车厂如何使用定制化管控系统能力。
HarmonyOS 提供的驾驶安全管控能力支持定制化管理,三方车厂可以通过 DrivingSafetyConfig 类的能力来开发管控类应用。
说明
| 接口名 | 描述 | 
|---|---|
| getSysDrivingSafetyConfigure() | 查询指定的系统能力是否被管控。 | 
| setSysDrivingSafetyConfigure() | 设定指定的系统能力是否被管控,具体需要参考三方车厂能力限制说明,不同车厂提供的限制能力不同。 | 
目前,HarmonyOS提供了两种系统能力管控的能力:
   // 构造查询结果对象
   DrivingSafetyConfigResult result = new DrivingSafetyConfigResult();
   // 调查询能力接口
   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()){ // 当前输入法策略为非管控状态
           isOpen = true; // 修改当前输入法策略为管控状态
       }
       // 调用修改管控能力接口,修改管控策略
       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;
   }