Android 搭載デバイスは、さまざまな種類のホルダーに装着できます。これらの カードック、ホームドック、デジタル ドックまたはアナログ ドックが含まれます。ホルダーの状態: 多くのホルダーは充電状態と密接に関連しており、 接続できます。
アプリは、ホルダーの状態におけるスマートフォンのアップデート レートに影響します。引き上げ可能 デスクトップ ドックに置いているスポーツ ニュース アプリの更新頻度 デバイスがカーホルダーに置かれている場合、アップデートを完全に無効にできます。逆に、 バックグラウンド サービスの更新中、車のホルダー装着時に更新を最大限に活用できます 表示されます。
ホルダーの状態はスティッキー
Intent
,
デバイスがホルダーに装着されているかどうかと、
できます。
現在の装着状態を特定する
ホルダーの状態の詳細は、
スティッキー ブロードキャスト
ACTION_DOCK_EVENT
できます。これは追尾型であるため
registerReceiver()
,
ブロードキャスト レシーバとして null
を渡します。次のスニペット
は、このプロセスを完了する方法を示しています。
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);
現在の装着状態は
EXTRA_DOCK_STATE
エクストラ:
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;
現在のホルダータイプを特定する
デバイスをホルダーに装着しているときは、次の 4 種類のいずれかを選択できます。 さまざまなタイプがあります。
- 車
- デスク
- ローエンド(アナログ)デスク
- ハイエンド(デジタル)デスク
最後の 2 つのオプションは Android API レベル 11 でしか導入されていないため、 目的のデスクタイプのみに興味がある場合は、3 つのデスクタイプすべてを確認することをおすすめします。 デジタルやアナログのものではなく
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;