Stay organized with collections
Save and categorize content based on your preferences.
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.
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.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-05-22 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-22 UTC."],[],[],null,["# Build calling experiences for Android Auto\n\nCalling experiences are in beta \nAt 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. \n[Nominate yourself to be an early access partner →](https://forms.gle/VsXEdDEBidxw8q8u8) \n\nApps that support making voice calls can improve their experience on Android\nAuto by integrating with the [Telecom Jetpack library](/develop/connectivity/telecom) and\nproviding a templated user interface built using the [Android for Cars App\nLibrary](/training/cars/apps).\n\nIntegrate with the Jetpack Telecom library\n------------------------------------------\n\nTo support answering and controlling calls on Android Auto, your app must\nintegrate with the Telecom Jetpack library as described in\n[Build a calling app](/develop/connectivity/telecom/voip-app). In particular, your app must support the\ncallbacks described in[Remote surface support](/develop/connectivity/telecom/voip-app/telecom#remote-surface-support). Your app must\nalso use it's telecom integration at all times, not just when a user's phone is\nrunning Android Auto.\n| **Important:** Additional requirements for your app's telecom integration will be provided in this guide soon.\n\nBuild a templated calling experience\n------------------------------------\n\nIn addition to the in-call view that Android Auto provides and which is powered\nby your app's telecom integration, your app can provide a templated experience\nto let users access your app's content on their car screen. For example, your\napp can display a list of contacts with actions to start a call, an agenda view\nof upcoming calls, a call log, and more. While a call is ongoing, Android Auto\nautomatically displays its in-call view for the duration of the call, replacing\nyour app's templated screens.\n\nFollow the guidance in [Use the Android for Cars App Library](/training/cars/apps) and [Add\nsupport for Android Auto to your templated app](/training/cars/apps/auto) to get started\nbuilding your app's templated experience. Then, refer to the guidance on this\npage to understand the specific requirements for calling apps.\n\n### Configure your app's manifest files\n\nTo inform Android Auto of your app's capabilities, your app must do the\nfollowing:\n\n#### Declare category support in your manifest\n\nYour app needs to declare the `androidx.car.app.category.CALLING`\n[car app category](/training/cars/apps#supported-app-categories) in the intent\nfilter of its [`CarAppService`](/reference/androidx/car/app/CarAppService). \n\n \u003capplication\u003e\n ...\n \u003cservice\n ...\n android:name=\".MyCarAppService\"\n android:exported=\"true\"\u003e\n \u003cintent-filter\u003e\n \u003caction android:name=\"androidx.car.app.CarAppService\" /\u003e\n \u003ccategory android:name=\"androidx.car.app.category.CALLING\"/\u003e\n \u003c/intent-filter\u003e\n \u003c/service\u003e\n ...\n \u003capplication\u003e\n\n| **Important:** If your app supports both calling and [messaging](/training/cars/communication/messaging), include both `androidx.car.app.category.CALLING` and `androidx.car.app.category.MESSAGING` `\u003ccategory\u003e` elements in the same intent filter.\n\nDistribute calling apps\n-----------------------\n\nBecause apps that support calling can only be published to Internal Testing and\nClosed Testing tracks on Google Play, you shouldn't promote builds that include\nsupport to Open Testing or Production tracks, as submissions containing builds\non those tracks will be rejected."]]