На этой странице описано, как установить библиотеку 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>
Уровень API автомобильного приложения
Библиотека автомобильных приложений определяет собственные уровни API, чтобы вы могли знать, какие функции библиотеки поддерживаются хостом шаблона на вашем автомобиле. Чтобы получить самый высокий уровень API автомобильного приложения, поддерживаемый хостом, используйте метод getCarAppApiLevel() .
Укажите минимальный уровень API автомобильного приложения, поддерживаемый вашим приложением, в файле AndroidManifest.xml :
<manifest ...>
<application ...>
<meta-data
android:name="androidx.car.app.minCarApiLevel"
android:value="1"/>
</application>
</manifest>
Подробную информацию о поддержании обратной совместимости и указании минимального уровня API, необходимого для использования той или иной функции, см. в документации к аннотации RequiresCarApi . Определение необходимого уровня API для использования той или иной функции библиотеки автомобильных приложений см. в справочной документации по CarAppApiLevels .