场景说明
HiCar App默认提供导航服务,如果车机本机也提供车载导航服务,同时运行时会出现冲突,因此需要HiCar App和车机间协商导航焦点,导航焦点类型如下:
- “HICAR”:HiCar App提供的导航服务。
- “HICAR_STOP”:HiCar App提供的导航服务已停止。
- “NATIVE”:车机提供的本地导航服务。
- “NATIVE_STOP”:车机提供的本地导航服务已停止。
导航焦点相关的数据格式说明请参考《HUAWEI HiCar SDK API参考》HiCar App与车机间接口中导航焦点部分。
导航焦点协商过程
- HiCar连接成功后向手机发送navFocusPolicy,协商导航互斥策略。
- HiCar App启动导航时通知车机导航焦点为HICAR,车机需要停止本地导航服务。如果车机停止了本地导航,为了更好的用户体验,车机可以向用户提示本地导航已停止。
- HiCar App停止导航时通知车机导航焦点为HICAR_STOP。
- 车机启动导航时通知HiCar App导航焦点为NATIVE,HiCar App需要停止导航服务。
- 车机停止导航时通知HiCar App导航焦点为NATIVE_STOP。
开发步骤
- HiCar与车机连接成功后,向手机发送navFocusPolicy,协商导航互斥策略,相关数据格式和说明参考《HUAWEI HiCar SDK API参考》HiCar App与车机间接口中导航焦点部分。:
{
"navFocusPolicy":1
} - HiCar App启动导航服务后,会向车机发送报文(dataType=503),通知车机导航焦点为HICAR。车机将收到的数据内容如下:
{
"navFocus":"HICAR"
} - 车机通过onDataReceive方法,判断dataType后可以收到上述具体数据内容,并停止本地导航服务。
- HiCar App停止导航服务后,通知车机导航焦点为HICAR_STOP。车机将收到的数据内容如下:
{
"navFocus":"HICAR_STOP"
} - 车机在启动本地导航服务后,需要通过HiCarAdapter::sendCarData接口通知HiCar App导航焦点切换为NATIVE。车机发送的数据内容如下:
{
"navFocus":"NATIVE"
} HiCar App在收到导航焦点通知后会停止导航服务。
- 车机在停止本地导航服务后,需要通过HiCarAdapter::sendCarData接口通知HiCar App导航焦点切换为NATIVE_STOP。车机发送的数据内容如下:
{
"navFocus":"NATIVE_STOP"
}