Поскольку при использовании 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())
}
}
Ява
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());
}