Android destekli cihazlar farklı yuvalara yerleştirilebilir. Bu araba yuvaları, ev yuvaları ve dijital veya analog yuvalar dahildir. Yuva durumu: genellikle şarj durumuyla yakından ilişkilidir, çünkü pek çok yuva yuvaya yerleştirilmiş cihazlarla kullanılabilir.
Uygulamanız yuva durumunda telefonun güncelleme hızını etkiler. Bütçenizi Masaüstü yuvadayken bir spor haberleri uygulamasının güncellenme sıklığı veya Cihaz araç yuvasına takılıysa güncellemelerinizi tamamen devre dışı bırakın. Öte yandan arka plan hizmetiniz güncelleniyorsa araç yuvasındayken güncellemelerinizi en üst düzeye çıkarın trafik koşullarını karşılamalısınız.
Yuva durumu, aynı zamanda yapışkan olarak yayınlanır.
Intent
,
Bu sayede cihazın yuvaya yerleştirilmiş olup olmadığını ve yuvaya yerleştirilmiş olması durumunda
öyle.
Mevcut yerleştirme durumunu belirleme
Yuva durumu ayrıntıları,
yapışkan yayını
ACTION_DOCK_EVENT
eyleme dökülebilir. Sabit olduğu için telefon edebilirsiniz.
registerReceiver()
,
yayın alıcı olarak null
iletiliyor. Aşağıdaki snippet
Bu işlemin nasıl tamamlanacağını gösterir:
Kotlin
val dockStatus: Intent? = IntentFilter(Intent.ACTION_DOCK_EVENT).let { ifilter -> context.registerReceiver(null, ifilter) }
Java
IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT); Intent dockStatus = context.registerReceiver(null, ifilter);
Mevcut yuvaya yerleştirme durumunu şuradan çıkarabilirsiniz:
EXTRA_DOCK_STATE
ekstra:
Kotlin
val dockState: Int = dockStatus?.getIntExtra(EXTRA_DOCK_STATE, -1) ?: -1 val isDocked: Boolean = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED
Java
int dockState -1; if (dockStatus != null) { dockState = dockStatus.getIntExtra(EXTRA_DOCK_STATE, -1); } boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
Mevcut yuva türünü belirleme
Bir cihaz yuvaya yerleştirilmişse aşağıdaki dört kameradan herhangi birine yerleştirilebilir farklı yuva türleri:
- Otomobil
- Masa
- Alçak (Analog) masa
- İleri teknoloji (Dijital) masa
Son iki seçenek yalnızca Android API düzey 11'de kullanıma sunulmuştur. Bu nedenle Yalnızca ilgilendiğinizi ve projenizle ilgiliyse üç masa türünü de kontrol etmek dijital veya analog olması yerine yuvanın türünü belirtmelidir:
Kotlin
val isCar: Boolean = dockState == EXTRA_DOCK_STATE_CAR val isDesk: Boolean = dockState == EXTRA_DOCK_STATE_DESK || dockState == EXTRA_DOCK_STATE_LE_DESK || dockState == EXTRA_DOCK_STATE_HE_DESK
Java
boolean isCar = dockState == EXTRA_DOCK_STATE_CAR; boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || dockState == EXTRA_DOCK_STATE_LE_DESK || dockState == EXTRA_DOCK_STATE_HE_DESK;