Mobile navigation allows map partners to easily display their maps as well as present visual and audio turn-by-turn prompts on the head unit.
Navigation apps have different behavior on the head unit than normal applications. The main differences are:
In order to use SDL's Mobile Navigation feature, the app must have a minimum requirement of Android 4.4 (SDK 19). This is due to using Android's provided video encoder.
The basic connection setup is similar for all apps. Please follow the Integration Basics guide for more information.
In order to create a navigation app an
NAVIGATION must be set in the
The second difference is the ability to call the
setSdlSecurity(List<Class<? extends SdlSecurityBase>> secList) method from the
SdlManager.Builder if connecting to an implementation of Core that requires secure video and audio streaming. This method requires an array of security libraries, which will extend the
SdlSecurityBase class. These security libraries are provided by the OEMs themselves, and will only work for that OEM. There is no general catch-all security library.
SdlManager.Builder builder = new SdlManager.Builder(this, APP_ID, APP_NAME, listener); Vector<AppHMIType> hmiTypes = new Vector<AppHMIType>(); hmiTypes.add(AppHMIType.NAVIGATION); builder.setAppTypes(hmiTypes); // Add security managers if Core requires secure video & audio streaming List<? extends SdlSecurityBase> securityManagers = new ArrayList(); builder.setSdlSecurity(Arrays.asList(OEMSecurityManager1.class, OEMSecurityManager2.class)); MultiplexTransportConfig mtc = new MultiplexTransportConfig(this, APP_ID, MultiplexTransportConfig.FLAG_MULTI_SECURITY_OFF); mtc.setRequiresHighBandwidth(true); builder.setTransportType(transport); sdlManager = builder.build(); sdlManager.start();
When compiling your app for production, make sure to include all possible OEM security managers that you wish to support.
To present a keyboard (such as for searching for navigation destinations), you should use the
ScreenManager's keyboard presentation feature. For more information, see the Popup Menus and Keyboards guide.