鴻蒙OS 開發(fā)ADAS相關(guān)應(yīng)用

2020-09-18 17:55 更新

場景介紹

通常在汽車使用過程中,駕駛員希望通過顯示、聲音、預(yù)警、故障告警等方式感知行車危險或規(guī)劃行駛路線,因此 HarmonyOS 提供了 ADAS 輔助交互相關(guān)的接口,供三方開發(fā)者開發(fā) ADAS 設(shè)置、自動泊車等相關(guān)應(yīng)用。

說明

該功能與具體的車廠車型相關(guān),部分低配車型可能不具備該項功能。

接口說明

目前 ADAS 提供的功能主要有以下三類:

  • 駕駛輔助管理類 DrivingAssistManager,提供了駕駛輔助相關(guān)方法,例如設(shè)置前向/后向碰撞預(yù)警開關(guān)、設(shè)置盲點檢測開關(guān)、設(shè)置導(dǎo)航目的地及導(dǎo)航路徑等;
  • 公共信息管理類 InfoAssistManager,提供了 ADAS 公共信息管理的相關(guān)方法,例如獲取障礙物信息、行車記錄儀信息、車道線信息、駕駛員狀態(tài)信息等;
  • 自主泊車管理類 ParkingAssistManager,提供了泊車控制的相關(guān)方法,例如啟動泊車、暫停泊車、設(shè)置泊車車位、獲取泊車狀態(tài)等。
接口名 描述
byte[] getAdasSignal() 獲取指定字節(jié)數(shù)組類型的駕駛輔助信號值。
<T> T getAdasSignal() 獲取指定駕駛輔助信號值。
setAdasActuator() 設(shè)置指定駕駛輔助信號值。
sendAdasSignal() 發(fā)送指定字節(jié)數(shù)組類型的駕駛輔助信號請求信息。
subscribeAdasSignal() 訂閱指定駕駛輔助信號。
subscribeBatchProperties() 批量訂閱指定駕駛輔助信號。
unsubscribeAdasSignal() 取消訂閱指定的駕駛輔助信號。
unsubscribeAdasSignalAll() 取消所有訂閱的駕駛輔助信號。
接口名 描述
byte[] getAdasSignal() 獲取指定字節(jié)數(shù)組類型的 Adas 信號值。
<T> T getAdasSignal 獲取指定 Adas 信號值。
setAdasActuator() 設(shè)置指定 Adas 信號值。
sendAdasSignal() 發(fā)送指定字節(jié)數(shù)組類型的 Adas 信號請求信息。
subscribeAdasSignal() 訂閱指定 Adas 信號。
subscribeBatchProperties() 批量訂閱指定 Adas 信號。
unsubscribeAdasSignal() 取消訂閱指定的 Adas 信號。
unsubscribeAdasSignalAll() 取消所有訂閱的 Adas 信號。
接口名 描述
byte[] getAdasSignal() 獲取指定字節(jié)數(shù)組類型泊車信號值。
<T> T getAdasSignal() 獲取指定泊車信號值。
setAdasActuator() 設(shè)置指定泊車信號值。
sendAdasSignal() 發(fā)送指定字節(jié)數(shù)組類型泊車信號請求值。
subscribeAdasSignal() 訂閱指定泊車信號。
subscribeBatchProperties() 批量訂閱指定的泊車信號。
unsubscribeAdasSignal() 取消訂閱指定的泊車信號。
unsubscribeAdasSignalAll() 取消所有訂閱的泊車信號。

開發(fā)步驟

根據(jù)不同管理入口類,調(diào)對應(yīng)接口。

// DrivingAssistManager類使用
boolean result = false;
try {
    Boolean signalValue = DrivingAssistManager.getAdasSignal(Boolean.class, DrivingAssistManager.ID_DRIVING_FCW_WARNING_SWITCH);
    result = true;
} catch (RemoteException | IllegalArgumentException | UnsupportedOperationException e) {
    result = false;
}

 
// ParkingAssistManager類使用
String propId = ParkingAssistManager.ID_PARKING_APA_FUNCTION_SWITCH;
Boolean value = true;
AdasActuatorCallback callback = new AdasActuatorCallback() {
    @Override
    public void onErrorActuator(String propId, int outResult) {}
};
boolean result = false;
try {
     ParkingAssistManager.setAdasActuator(propId, callback, value);
     result = true;
} catch (RemoteException | IllegalArgumentException | UnsupportedOperationException e) {
     result = false;
}
// InfoAssistManager類使用
boolean result = false;
byte[] request = {'q', 'w'};
try {
     byte[] response = InfoAssistManager.getAdasSignal(InfoAssistManager.ID_INFO_HDMINFO, request);
     result = true;
} catch (RemoteException | IllegalArgumentException | UnsupportedOperationException e) {
     result = false;
}
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號