На этой странице описано, как установить библиотеку Car App и как настроить файл манифеста для вашего приложения.
Установите библиотеку автомобильных приложений.
Чтобы добавить библиотеку в ваше приложение, см. страницу релизов библиотеки Jetpack.
Настройте файлы манифеста вашего приложения.
Прежде чем создавать автомобильное приложение, необходимо настроить файлы манифеста приложения.
Объявите свой CarAppService
Хост подключается к вашему приложению через реализацию CarAppService . Вы объявляете этот сервис в манифесте, чтобы хост мог обнаружить ваше приложение и подключиться к нему.
Также необходимо указать категорию вашего приложения в элементе <category> фильтра намерений вашего приложения. Список поддерживаемых категорий приложений содержит допустимые значения для этого элемента.
Следующий фрагмент кода показывает, как объявить службу автомобильного приложения для приложения, отображающего точку интереса, в вашем манифесте:
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService"/>
<category android:name="androidx.car.app.category.POI"/>
</intent-filter>
</service>
...
<application>
Поддерживаемые категории приложений
При объявлении CarAppService , как описано в разделе «Объявление CarAppService» , необходимо также объявить категорию приложения, добавив одно или несколько из этих значений в фильтр намерений.
androidx.car.app.category.NAVIGATION: Предоставляет пошаговые инструкции по навигации. См. раздел «Создание навигационных приложений для автомобилей» .androidx.car.app.category.POI: Предоставляет функциональность, необходимую для поиска точек интереса, таких как парковочные места, зарядные станции и автозаправочные станции. См. раздел «Создание приложений для поиска точек интереса для автомобилей» .androidx.car.app.category.IOT: Позволяет пользователям выполнять соответствующие действия на подключенных устройствах из салона автомобиля. См. раздел «Создание приложений интернета вещей для автомобилей» .androidx.car.app.category.WEATHER: Позволяет пользователям видеть актуальную информацию о погоде, относящуюся к их текущему местоположению или маршруту. См. раздел «Создание приложений погоды для автомобилей» .androidx.car.app.category.MEDIA: Позволяет пользователям просматривать и воспроизводить музыку, радио, аудиокниги и другой аудиоконтент в автомобиле. См. раздел «Создание шаблонных медиаприложений для автомобилей» .androidx.car.app.category.MESSAGING: Позволяет пользователям общаться с помощью коротких текстовых сообщений. См. раздел «Создание шаблонов для обмена сообщениями в Android Auto» .androidx.car.app.category.CALLING: Позволяет пользователям общаться с помощью голосовых вызовов. См. раздел «Создание возможностей для звонков в Android Auto» .
Подробное описание каждой категории и критериев для попадания в ту или иную категорию см. в разделе «Качество Android-приложений для автомобилей» .
Укажите название приложения и значок.
Для отображения вашего приложения в системном пользовательском интерфейсе carPermissionActivityLayout должен указывать имя приложения и значок для хоста. Используйте атрибуты label и icon вашего CarAppService , чтобы указать имя приложения и значок, используемые хостом для представления вашего приложения:
...
<service
android:name=".MyCarAppService"
android:exported="true"
android:label="@string/my_app_name"
android:icon="@drawable/my_app_icon">
...
</service>
...
Если в элементе <service> не указана метка или значок, хост будет использовать значения, заданные элементом <application> .
Установить пользовательскую тему
Чтобы установить пользовательскую тему для вашего автомобильного приложения:
Добавьте элемент
<meta-data>в файл манифеста:<meta-data android:name="androidx.car.app.theme" android:resource="@style/MyCarAppTheme />Укажите ресурс стиля , чтобы задать атрибуты для вашей пользовательской темы автомобильного приложения:
<resources> <style name="MyCarAppTheme"> <item name="carColorPrimary">@color/my_primary_car_color</item> <item name="carColorPrimaryDark">@color/my_primary_dark_car_color</item> <item name="carColorSecondary">@color/my_secondary_car_color</item> <item name="carColorSecondaryDark">@color/my_secondary_dark_car_color</item> <item name="carPermissionActivityLayout">@layout/my_custom_background</item> </style> </resources>