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