Поскольку при использовании Android Auto телефон пользователя подключается к автомобильным динамикам, необходимо принять дополнительные меры предосторожности, чтобы предотвратить отвлечение внимания водителя.
При разработке мультимедийных приложений для Android Auto необходимо внедрить специальные меры защиты, чтобы свести к минимуму отвлечение водителя. К таким мерам относятся:
Предотвратите автоматическое воспроизведение звука через автомобильные динамики вашего приложения, даже для будильников, настроенных пользователем.
Как управлять отображением уведомлений в Android Auto при переключении между музыкой и рекламой в вашем приложении.
Для этого используйте API CarConnection , чтобы определить, проецирует ли телефон изображение на экран автомобиля. Если да, отключите уведомления или предоставьте интерфейс на телефоне для управления ими. Для рекламы установите ключ метаданных METADATA_KEY_IS_ADVERTISEMENT чтобы подавить отвлекающие уведомления.
Отключите сигнализацию в автомобиле
Приложения Android Auto не должны начинать воспроизведение звука через автомобильные динамики, если пользователь не запустит воспроизведение, например, нажав кнопку «Воспроизвести» . Даже установленный пользователем будильник в приложении не должен запускать воспроизведение музыки через автомобильные динамики.
Для выполнения этого требования ваше приложение может использовать CarConnection в качестве сигнала перед воспроизведением любого аудио. Ваше приложение может проверить, проецируется ли изображение с телефона на экран автомобиля. Обратите внимание на LiveData для типа подключения . Убедитесь, что значение равно CONNECTION_TYPE_PROJECTION .
Если телефон пользователя использует проекцию, медиаприложения, поддерживающие будильники, должны выполнить одно из следующих действий:
Отключите сигнализацию.
Воспроизвести сигнал тревоги
STREAM_ALARMи предоставить на экране телефона интерфейс для отключения сигнала тревоги.
Обработка рекламных объявлений в СМИ.
По умолчанию Android Auto отображает уведомление при изменении метаданных медиафайлов во время воспроизведения аудио. Когда медиаприложение переключается с воспроизведения музыки на показ рекламы, отображение уведомления отвлекает пользователя. Чтобы предотвратить отображение уведомления в Android Auto, установите для ключа метаданных медиафайлов METADATA_KEY_IS_ADVERTISEMENT значение METADATA_VALUE_ATTRIBUTE_PRESENT :
Котлин
import androidx.media.utils.MediaConstants
override fun onPlayFromMediaId(mediaId: String, extras: Bundle?) {
MediaMetadataCompat.Builder().apply {
if (isAd(mediaId)) {
putLong(
MediaConstants.METADATA_KEY_IS_ADVERTISEMENT,
MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT)
}
// ...add any other properties you normally would.
mediaSession.setMetadata(build())
}
}
Java
import androidx.media.utils.MediaConstants;
@Override
public void onPlayFromMediaId(String mediaId, Bundle extras) {
MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder();
if (isAd(mediaId)) {
builder.putLong(
MediaConstants.METADATA_KEY_IS_ADVERTISEMENT,
MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT);
}
// ...add any other properties you normally would.
mediaSession.setMetadata(builder.build());
}