Build calling experiences for Android Auto

Calling experiences are in beta
At this time, anyone can publish communication apps with calling experiences to internal testing and closed testing tracks on the Play Store. Publishing to open testing and production tracks will be permitted at a later date.

Apps that support making voice calls can improve their experience on Android Auto by integrating with the Telecom Jetpack library and providing a templated user interface built using the Android for Cars App Library.

Integrate with the Jetpack Telecom library

To support answering and controlling calls on Android Auto, your app must integrate with the Telecom Jetpack library as described in Build a calling app. In particular, your app must support the callbacks described inRemote surface support. Your app must also use it's telecom integration at all times, not just when a user's phone is running Android Auto.

Build a templated calling experience

In addition to the in-call view that Android Auto provides and which is powered by your app's telecom integration, your app can provide a templated experience to let users access your app's content on their car screen. For example, your app can display a list of contacts with actions to start a call, an agenda view of upcoming calls, a call log, and more. While a call is ongoing, Android Auto automatically displays its in-call view for the duration of the call, replacing your app's templated screens.

Follow the guidance in Use the Android for Cars App Library and Add support for Android Auto to your templated app to get started building your app's templated experience. Then, refer to the guidance on this page to understand the specific requirements for calling apps.

Configure your app's manifest files

To inform Android Auto of your app's capabilities, your app must do the following:

Declare category support in your manifest

Your app needs to declare the androidx.car.app.category.CALLING car app category in the intent filter of its CarAppService.

<application>
    ...
   <service
       ...
        android:name=".MyCarAppService"
        android:exported="true">
      <intent-filter>
        <action android:name="androidx.car.app.CarAppService" />
        <category android:name="androidx.car.app.category.CALLING"/>
      </intent-filter>
    </service>
    ...
<application>

Distribute calling apps

Because apps that support calling can only be published to Internal Testing and Closed Testing tracks on Google Play, you shouldn't promote builds that include support to Open Testing or Production tracks, as submissions containing builds on those tracks will be rejected.