Ablenkungsvorkehrungen treffen

Da das Smartphone eines Nutzers bei der Verwendung von Android Auto mit den Lautsprechern eines Autos verbunden ist, müssen Sie zusätzliche Vorsichtsmaßnahmen treffen, um Ablenkungen des Fahrers zu vermeiden.

Wenn Sie Android Auto-Media-Apps entwickeln, sollten Sie bestimmte Sicherheitsmaßnahmen implementieren, um die Ablenkung des Fahrers zu minimieren. Dazu gehören:

  • Verhindern, dass Ihre App Audio automatisch über Autolautsprecher abspielt, auch bei vom Nutzer geplanten Weckern.

  • Verwalten, wie Android Auto Benachrichtigungen anzeigt, wenn Ihre App zwischen Musik und Anzeigen wechselt.

Verwenden Sie dazu die CarConnection API, um zu erkennen, ob ein Smartphone auf einen Autobildschirm projiziert wird. Wenn dies der Fall ist, deaktivieren Sie Alarme oder stellen Sie eine Benutzeroberfläche auf dem Smartphone zur Verwaltung von Alarmen bereit. Legen Sie für Anzeigen den Metadatenschlüssel METADATA_KEY_IS_ADVERTISEMENT fest, um störende Benachrichtigungen zu unterdrücken.

Alarme im Auto unterdrücken

Android Auto-Media-Apps dürfen Audioinhalte nicht über die Autolautsprecher wiedergeben, es sei denn, der Nutzer startet die Wiedergabe, indem er beispielsweise auf die Schaltfläche Wiedergabe drückt. Auch ein vom Nutzer geplanter Wecker aus Ihrer Media-App darf nicht über die Autolautsprecher Musik abspielen.

Um diese Anforderung zu erfüllen, kann Ihre App CarConnection als Signal verwenden, bevor Audio wiedergegeben wird. Ihre App kann prüfen, ob das Smartphone auf einen Autobildschirm projiziert wird. Beachten Sie die LiveData für den Verbindungstyp. Prüfen Sie, ob der Wert gleich CONNECTION_TYPE_PROJECTION ist.

Wenn das Smartphone des Nutzers projiziert wird, müssen Media-Apps, die Alarme unterstützen, eine der folgenden Aktionen ausführen:

  • Deaktivieren Sie den Alarm.

  • Den Wecker noch einmal abspielen STREAM_ALARM und eine Benutzeroberfläche auf dem Smartphone-Display bereitstellen, um den Wecker zu deaktivieren.

Umgang mit Media-Werbung

Standardmäßig zeigt Android Auto eine Benachrichtigung an, wenn sich die Medienmetadaten während der Audiowiedergabe ändern. Wenn eine Media-App von der Musikwiedergabe zur Ausführung einer Anzeige wechselt, lenkt eine Benachrichtigung den Nutzer ab. Wenn Sie verhindern möchten, dass in Android Auto eine Benachrichtigung angezeigt wird, legen Sie den Media-Metadatenschlüssel METADATA_KEY_IS_ADVERTISEMENT auf METADATA_VALUE_ATTRIBUTE_PRESENT fest:

Kotlin

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());
}