通常在汽车使用过程中,驾驶员希望通过显示、声音、预警、故障告警等方式感知行车危险或规划行驶路线,因此 HarmonyOS 提供了 ADAS 辅助交互相关的接口,供三方开发者开发 ADAS 设置、自动泊车等相关应用。
说明
该功能与具体的车厂车型相关,部分低配车型可能不具备该项功能。
目前 ADAS 提供的功能主要有以下三类:
接口名 | 描述 |
---|---|
byte[] getAdasSignal() | 获取指定字节数组类型的驾驶辅助信号值。 |
<T> T getAdasSignal() | 获取指定驾驶辅助信号值。 |
setAdasActuator() | 设置指定驾驶辅助信号值。 |
sendAdasSignal() | 发送指定字节数组类型的驾驶辅助信号请求信息。 |
subscribeAdasSignal() | 订阅指定驾驶辅助信号。 |
subscribeBatchProperties() | 批量订阅指定驾驶辅助信号。 |
unsubscribeAdasSignal() | 取消订阅指定的驾驶辅助信号。 |
unsubscribeAdasSignalAll() | 取消所有订阅的驾驶辅助信号。 |
接口名 | 描述 |
---|---|
byte[] getAdasSignal() | 获取指定字节数组类型的 Adas 信号值。 |
<T> T getAdasSignal | 获取指定 Adas 信号值。 |
setAdasActuator() | 设置指定 Adas 信号值。 |
sendAdasSignal() | 发送指定字节数组类型的 Adas 信号请求信息。 |
subscribeAdasSignal() | 订阅指定 Adas 信号。 |
subscribeBatchProperties() | 批量订阅指定 Adas 信号。 |
unsubscribeAdasSignal() | 取消订阅指定的 Adas 信号。 |
unsubscribeAdasSignalAll() | 取消所有订阅的 Adas 信号。 |
接口名 | 描述 |
---|---|
byte[] getAdasSignal() | 获取指定字节数组类型泊车信号值。 |
<T> T getAdasSignal() | 获取指定泊车信号值。 |
setAdasActuator() | 设置指定泊车信号值。 |
sendAdasSignal() | 发送指定字节数组类型泊车信号请求值。 |
subscribeAdasSignal() | 订阅指定泊车信号。 |
subscribeBatchProperties() | 批量订阅指定的泊车信号。 |
unsubscribeAdasSignal() | 取消订阅指定的泊车信号。 |
unsubscribeAdasSignalAll() | 取消所有订阅的泊车信号。 |
根据不同管理入口类,调对应接口。
// 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;
}
© 2023 mianshi8.net MIT license