Broadcast Intentを"am"コマンドから投げる

Android端末をCar Dockに載せたりする場合の動きをテストしたい場合、エミュレータやハードウェアが無いとテストできない場合がある。
この場合、コマンドラインから"am"コマンドでBroadcast Intentを投げると同様の動きをエミュレートできる。
"am"コマンドの使い方は、下記のコマンドを実行する。

$ adb shell am

Broadcast Intentの一覧は、Intent  |  Android Developers を参照。
コマンドラインからBroadcast Intentを投げる場合の引数は、下記になる。

  • ACTION_BOOT_COMPLETED: 再起動と同様の処理(実際には再起動はしない)
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
  • DOCK_EVENT: (Desk|Car) Dock 抜き挿し
# Desk Dock に挿す (※Android 2.2で成功。2.1だと無視)
adb shell am broadcast -a android.intent.action.DOCK_EVENT --ei android.intent.extra.DOCK_STATE 1
# Car Dock に挿す (※Android 2.2で成功。2.1だと無視)
adb shell am broadcast -a android.intent.action.DOCK_EVENT --ei android.intent.extra.DOCK_STATE 2
# (Desk|Car) Dock から抜く (※Android 2.2で成功。2.1だと無視)
adb shell am broadcast -a android.intent.action.DOCK_EVENT --ei android.intent.extra.DOCK_STATE 0
  • ACTION_TIME_TICK: current time has changed
adb shell am broadcast -a android.intent.action.TIME_TICK
  • ACTION_TIME_CHANGED: The time was set.
adb shell am broadcast -a android.intent.action.TIME_SET
  • ACTION_TIMEZONE_CHANGED: The timezone has changed.
adb shell am broadcast -a android.intent.action.TIMEZONE_CHANGED --es time-zone GMT+09:00
  • ACTION_PACKAGE_ADDED:

(未検証)

  • ACTION_PACKAGE_CHANGED:

(未検証)

  • ACTION_PACKAGE_REMOVED:

(未検証)

  • ACTION_PACKAGE_RESTARTED:

(未検証)

  • ACTION_PACKAGE_DATA_CLEARED:

(未検証)

  • ACTION_UID_REMOVED:

(未検証)

  • ACTION_BATTERY_CHANGED:

(未検証)

  • ACTION_BATTERY_LOW: 電池が少なくなってきた場合の通知
adb shell am broadcast -a android.intent.action.BATTERY_LOW
  • ACTION_POWER_CONNECTED: 充電開始
# 動作確認できていない
adb shell am broadcast -a android.intent.action.ACTION_POWER_CONNECTED
  • ACTION_POWER_DISCONNECTED: 充電終了
# 動作確認できていない
adb shell am broadcast -a android.intent.action.ACTION_POWER_DISCONNECTED
  • ACTION_SHUTDOWN: シャットダウン
# システムによって保護されているので、このコマンドは無視される。
adb shell am broadcast -a android.intent.action.SHUTDOWN