インテントには、ACTION_DOCK_EVENT
という名前の定数があります
API level 5
に追加
ブロードキャストアクション:デバイスの物理的なドッキング状態の変化に対するスティッキーブロードキャスト。
ドッキング状態とはどういう意味ですか?
Androidデバイスは、いくつかの異なる種類のドックデバイスにドッキングできます。これらには、車またはホームドック、デジタルドックとアナログドックが含まれます。したがって、デバイスのドックが変更されると、ACTION_DOCK_EVENT
のインテントがスローされます。
デバイスがドッキングされている場合は、次の4つの異なるタイプのドックのいずれかにドッキングできます。
リソース ここ
ドッキング状態とはどういう意味ですか
ドッキング状態とは、通常、充電状態を意味します。car
、_home dock
_、digital
または_analog docks
_の場合があり、Androidデバイスはいくつかの異なる種類のドックにドッキングできます。
現在のドッキング状態を判別する
_dock-state
_の詳細は、_ACTION_DOCK_EVENT
_アクションのスティッキーブロードキャストにエキストラとして含まれています。 sticky
なので、BroadcastReceiver
を登録する必要はありません。次のスニペットに示すように、ブロードキャストレシーバーとしてnullを渡すregisterReceiver()
を呼び出すだけです。
_IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
Intent dockStatus = context.registerReceiver(null, ifilter);
_
ドック状態の詳細は、ACTION_DOCK_EVENTアクションのスティッキーブロードキャストに追加として含まれています。粘着性があるため、BroadcastReceiverを登録する必要はありません。次のスニペットに示すように、ブロードキャストレシーバーとしてnullを渡すregisterReceiver()を呼び出すだけです。
mContext = getApplicationContext();
IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
Intent dockStatus = registerReceiver(null, ifilter);
EXTRA_DOCK_STATEエクストラから現在のドッキングステータスを抽出できます。
int dockState = (dockStatus == null ?
Intent.EXTRA_DOCK_STATE_UNDOCKED :
dockStatus.getIntExtra(Intent.EXTRA_DOCK_STATE, -1));
boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
boolean isCar = dockState == Intent.EXTRA_DOCK_STATE_CAR;
デバイスがドッキングまたはドッキング解除されるたびに、ACTION_DOCK_EVENTアクションがブロードキャストされます。デバイスのドック状態の変化を監視するには、以下のスニペットに示すように、アプリケーションマニフェストにブロードキャストレシーバーを登録するだけです。actionAndroid:name = "Android.intent.action.ACTION_DOCK_EVENT"
お役に立てれば。