Dikkat dağıtıcı önlemler uygulayın
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Android Auto kullanılırken kullanıcının telefonu arabanın hoparlörlerine bağlı olduğundan sürücünün dikkatini dağıtmayı önlemek için ek önlemler almanız gerekir.
Android Auto medya uygulamaları geliştirirken sürücünün dikkatini dağıtmayı en aza indirmek için belirli güvenlik önlemleri uygulayın. Bu önlemler şunları içerir:
Kullanıcı tarafından planlanan alarmlar da dahil olmak üzere uygulamanızın araç hoparlörleri aracılığıyla otomatik olarak ses çalmasını engelleme.
Uygulamanız müzik ve reklam arasında geçiş yaptığında Android Auto'nun bildirimleri nasıl göstereceğini yönetme
Bunu yapmak için telefonun araba ekranına yansıtılıp yansıtılmadığını algılamak üzere CarConnection
API'sini kullanın. Bu durumda, alarmları devre dışı bırakın veya bunları yönetmek için telefonda kullanıcı arayüzü sağlayın.
Reklamlar için METADATA_KEY_IS_ADVERTISEMENT
meta veri anahtarını, dikkat dağıtıcı bildirimleri bastıracak şekilde ayarlayın.
Araçtaki alarmları kapatma
Android Auto medya uygulamaları, kullanıcı oynatmayı başlatmadığı sürece (ör. Oynat düğmesine basarak) arabanın hoparlörlerinden ses çalmaya başlamamalıdır.
Medya uygulamanızda kullanıcı tarafından planlanan bir alarm bile arabanın hoparlörlerinden müzik çalmaya başlamamalıdır.
Bu şartı karşılamak için uygulamanız, ses çalmadan önce sinyal olarak CarConnection
kullanabilir. Uygulamanız, telefonun araba ekranına yansıtılıp yansıtılmadığını kontrol edebilir. Bağlantı türü için LiveData
simgesine bakın.
Değerin CONNECTION_TYPE_PROJECTION
'ye eşit olduğunu onaylayın.
Kullanıcının telefonu projeksiyon yapıyorsa alarmları destekleyen medya uygulamaları şu işlemlerden birini gerçekleştirmelidir:
Android Auto, varsayılan olarak ses oynatma oturumu sırasında medya meta verileri değiştiğinde bildirim gösterir. Bir medya uygulaması müzik çalmaktan reklam yayınlamaya geçtiğinde bildirim göstermek kullanıcının dikkatini dağıtır. Android Auto'nun bildirim göstermesini engellemek için medya meta verileri anahtarını METADATA_KEY_IS_ADVERTISEMENT
METADATA_VALUE_ATTRIBUTE_PRESENT
olarak ayarlayın:
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());
}
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-08-22 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-08-22 UTC."],[],[],null,["# Implement distraction safeguards\n\nBecause a user's phone is connected to a car's speakers when using Android\nAuto, you must take additional precautions to prevent driver distraction.\n\nWhen you develop Android Auto media apps, implement specific safeguards to\nminimize driver distraction. These safeguards include:\n\n- Preventing your app from automatically playing audio through car speakers,\n even for user-scheduled alarms.\n\n- Managing how Android Auto displays notifications when your app switches\n between music and ads.\n\nTo achieve this, use the `CarConnection` API to detect if a phone projects to a\ncar screen. If it does, disable alarms or provide an on-phone UI to manage them.\nFor ads, set the `METADATA_KEY_IS_ADVERTISEMENT` metadata key to suppress\ndistracting notifications.\n\nSuppress alarms in the car\n--------------------------\n\nAndroid Auto media apps must not start playing audio through the car speakers\nunless the user starts playback by, for example, pressing a **Play** button.\nEven a user-scheduled alarm from your media app must not start playing music\nthrough the car speakers.\n\nTo fulfill this requirement, your app can use [`CarConnection`](/reference/androidx/car/app/connection/CarConnection)\nas a signal before playing any audio. Your app can check if the phone is\nprojecting to a car screen. Observe the `LiveData` for the [connection type](/reference/androidx/car/app/connection/CarConnection#getType()).\nConfirm the value is equal to [`CONNECTION_TYPE_PROJECTION`](/reference/androidx/car/app/connection/CarConnection#CONNECTION_TYPE_PROJECTION()).\n\nIf the user's phone is projecting, media apps that support alarms must perform\none of these actions:\n\n- Disable the alarm.\n\n- Re-play the alarm [`STREAM_ALARM`](/reference/android/media/AudioManager#STREAM_ALARM) and provide a UI on the phone screen\n to disable the alarm.\n\nHandle media advertisements\n---------------------------\n\nBy default, Android Auto displays a notification when the media metadata changes\nduring an audio playback session. When a media app switches from playing music\nto running an advertisement, displaying a notification distracts the user. To\nprevent Android Auto from displaying a notification, set the media metadata key\n[`METADATA_KEY_IS_ADVERTISEMENT`](/reference/androidx/media/utils/MediaConstants#METADATA_KEY_IS_ADVERTISEMENT()) to [`METADATA_VALUE_ATTRIBUTE_PRESENT`](/reference/androidx/media/utils/MediaConstants#METADATA_VALUE_ATTRIBUTE_PRESENT()): \n\n### Kotlin\n\n import androidx.media.utils.MediaConstants\n\n override fun onPlayFromMediaId(mediaId: String, extras: Bundle?) {\n MediaMetadataCompat.Builder().apply {\n if (isAd(mediaId)) {\n putLong(\n MediaConstants.METADATA_KEY_IS_ADVERTISEMENT,\n MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT)\n }\n // ...add any other properties you normally would.\n mediaSession.setMetadata(build())\n }\n }\n\n### Java\n\n import androidx.media.utils.MediaConstants;\n\n @Override\n public void onPlayFromMediaId(String mediaId, Bundle extras) {\n MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder();\n if (isAd(mediaId)) {\n builder.putLong(\n MediaConstants.METADATA_KEY_IS_ADVERTISEMENT,\n MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT);\n }\n // ...add any other properties you normally would.\n mediaSession.setMetadata(builder.build());\n }"]]