fullpage=true page.viewport_width=970 no_footer_links=true excludeFromSuggestions=true page.metaDescription=Android Auto @jd:body
Android Auto extends the Android platform into the car. When users connect their Android handheld device to a compatible vehicle, Android Auto provides a car-optimized Android experience on the vehicle's screen. Users interact with compatible apps and services through voice actions and the vehicle's input controls.
The Android Auto SDK lets you easily extend your existing apps to work in the car, without having to worry about vehicle-specific hardware differences. You can use many Android APIs and services you are already familiar with. Android Auto provides an easy to use UI model and supports notifications and voice actions:
We’ll release the Android Auto SDK in the coming months, which will let you test your Android Auto experience on a regular Android device.
Android Auto extends users' digital ecosystem into their cars, allowing drivers to stay connected to their virtual worlds while staying focused on the road ahead.
Because driving is the primary activity in the car, any digital experiences should be designed to complement and augment that activity. They should never demand the user's attention.
Designing for cars is fundamentally different than designing for phones or tablets, and requires rethinking how experiences unfold. Because attention is limited and not all tasks are possible in the car, effective apps leverage the entire set of devices that drivers have, leveraging the app experience on those devices, outside of the car, to set the stage for simple experiences while driving.
Android Auto experiences are:
Glanceable and simple. Driving requires users' full attention. In-car software should not. Android Auto was designed to simplify not only the UI, but to optimize interactions and require less thinking, induce lower cognitive load, and ultimately, be safer. Effective apps provide just enough information in the minimum amount of time the user needs to glance at it and return their attention back to the road. Apps should also reduce the number of features to only those that are safe and drive-appropriate.
Predictive, yet predictable. Android Auto leverages rich, contextual awareness to keep the driver informed about important situations during the drive. Rich, timely help is combined with predictable functions. Effective apps make use of the patterns for common tasks and show timely information only when relevant.
Connected. By leveraging the user's personal ecosystem of apps and services, Android Auto promotes a continuous experience from phone to car to other devices. The user's music, destinations, and virtual ecosystem are always available to augment the drive. Experiences that leverage personal context and other devices are naturally part of Android Auto.
Naturally integrated. Android Auto blends the user's apps with the car, creating a truly integrated experience that leverages what is unique about each car. By using the screens, controls, and capabilities of the vehicle, Android Auto feels like an extension of the car.
The Android Auto app shows your app's customized UI on the vehicle's screen. To communicate with the Android Auto app, your media app implements a set of media interfaces.
The architecture consists of the following components:
Media App - Runs a media service that exposes content through browsing and playback APIs. The service provides content to the Android Auto app. This is your Android app.
Android Auto App - Creates the UI and handles user interactions. This app uses a media client to request content from the media service running in the media app. The client requests data from the media service and monitors service states.
Vehicle Display - Shows app content and supports user interaction via on-screen soft buttons and other components, such as physical buttons or steering wheel controls.
Android media apps must implement binders to these APIs:
The Android Auto app uses a car-specific UI model to display content and user interaction opportunities. Android Auto provides you with a standard UI designed to minimize driver distraction. You do not have to test a custom UI for for driver distraction, which is a lengthy and expensive process involving multiple legislations across the globe and different standards for each vehicle OEM.
The UI defines interfaces for browsing, searching, and listening to content from media apps. You can customize the UI colors, action icons, background images, and more.
The launcher shows all the compatible media apps installed on the user’s Android device and lets users select one of them from an scrollable list:
After the user selects a media app, the display shows the primary app UI. You can customize this UI to show your own icons, app name, and background images. Figure 3 shows an example of a customized UI:
The primary app UI supports four main actions on the action bar, four auxiliary actions on the overflow bar, and the Return action. You can use standard controls and customize the actions and icons, as shown in Figure 4.
For browse actions, the display shows the drawer transition as shown in Figure 5.
After the transition from the primary app UI to the drawer UI, the drawer appears on the center. The customized drawer UI shows the media containers and media files provided by the media service in your app. You can also customize drawers with icons for list items.
All the UIs support different color schemes for day and night. The platform provides the state (day or night) and makes adjustments automatically.
To customize the UI, you provide the following app-specific resources and actions to the Android Auto media client:
If provided, the media client automatically uses them in the UI.
Note: When released, the Android Auto SDK will provide media service interfaces, an APK for handheld devices that simulates the Android Auto app, and other tools for Android Auto development.
To create a media app for Android Auto, you include an Android service in your app that implements the media service interfaces provided by the Android Auto SDK. These interfaces define functionality for browsing and finding content, playing media, customizing the UI, and performing app-specific actions.
The media service interfaces present the content library as a navigable tree and enable clients to play media, get album art, obtain theme resources for the UI, and invoke app-specific actions.
You don’t have to create a new app for Android Auto: you can extend your existing Android app with implementations of the media service interfaces. Your service exposes your app’s media content, theme resources, and app-specific actions using the methods and data types specified by the media service interfaces. This simplifies the development cycle because:
The Android Auto client presents the customized UI to users and invokes the functionality from your service as needed. This has two additional advantages:
This also means that you do not have to worry about vehicle-specific hardware differences such as screen resolutions, software interfaces, knobs and touch controls.
The Android Auto SDK includes an APK with a media client implementation, which is similar to those available in compatible vehicles. To test your app with this client:
The customized UI for your app appears on the client. You can navigate the content library and play media. If your app provides app-specific actions, these actions appear in the UI controls.
Media apps are available on the Google Play Store for compatible Android devices. When users connect their Android device to a compatible vehicle, the Android Auto media client shows a list of all the Android apps installed on the phone that implement the media service interfaces.
When users select one of these apps, the Android Auto media client uses the app’s service to respond to user input and invoke the methods in the media service interfaces to build the UI, navigate the content library, and play media.