The repository is a collection of examples showing off the Mapbox Navigation Android SDK. In order to support minSdkVersion 21, Android Auto and preview features, there are three example apps.
- app minSdkVersion of 21
- app-preview minSdkVersion of 21
- android-auto-app minSdkVersion of 23
Make sure you follow the steps under the Installation guide. Once you have your public and secret access tokens ready, do the following:
git clone [email protected]:mapbox/mapbox-navigation-android-examples.git- Go to
app/src/main/res/values - Look for
mapbox_access_token.xml - If the file already exists, swap
YOUR_ACCESS_TOKEN_HEREwith your public access token. - If the file doesn't exist then create one and add the following content to it
<?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools"> <string name="mapbox_access_token">YOUR_ACCESS_TOKEN_HERE</string> </resources> - Ensure that your secret token is added to build.gradle or to global
gradle.propertiesas described in the installation guide. - Run the examples under
app.
Configure the public access token in android-auto-app/src/main/res/values/mapbox_access_token.xml,
then run the phone app and connect Android Auto or the Desktop Head Unit. Grant location permission
on the phone before using navigation.
The phone map stays clear of the system bars. Both phone and car maps use Mapbox Standard with 3D buildings and no traffic overlay, with a flat, zero-degree navigation camera pitch.
The example uses SearchBox, experimental route preview, and a unified navigation screen on hosts
supporting Car App API 7 or newer; older hosts use separate free-drive and guidance screens.
Phone and car share route-preview and navigation state. The SDK 3.33 compatibility helper in
CarContextExtensions.kt checks the host API level because this SDK version does not yet expose
the public supportsUnifiedNavigation extension.
MainCarSession shows the SDK setup, screen registration, permissions, and intent handling.
Map/rendering lifecycle is in CarMapLifecycle, auto-drive and replay management in
CarTripSessionController, and route styling and action buttons in CarMapCustomization.
Open Navigation settings from the car's settings action to toggle voice guidance. This applies immediately, persists across connections, and shares its mute state with the navigation screen's audio control.
The car map always uses custom route colors and arrow icons, with the vanishing route line disabled.
To simulate driving while the car app is open:
adb shell dumpsys activity service com.mapbox.navigation.examples.androidauto.car.MainCarAppService AUTO_DRIVETurning auto drive off or disconnecting the car restores device locations for the shared trip session.
If you're looking for code examples from previous versions of the Navigation SDK, you can access them through the following links:
- Navigation SDK v2: https://github.com/mapbox/mapbox-navigation-android-examples/tree/main-v2
- Navigation SDK v1: https://github.com/mapbox/mapbox-navigation-android/tree/v1.6.0/examples/
- Have a bug to report? Open an issue. If possible, include the version of Mapbox Navigation SDK, and an example that shows the issue.
- Have an example request? Open an issue. Tell us what the example should do and why you want it.
We welcome feedback and code contributions! Please see CONTRIBUTING.md for details.
