2012/07/18

Android:ブロードキャストを受信するコンポーネントを調べる方法

特定のBroadcastIntentを受信するBroadcastReceiverの一覧を取得するには次のコマンド
を使用します。
$ adb shell dumpsys activity broadcasts
実行すると登録されているIntentFilterの一覧が取得できます。
ACTIVITY MANAGER BROADCAST STATE (dumpsys activity broadcasts)
  Registered Receivers:
  * ReceiverList{421bc0e0 8893 com.example.networkcheck/10146 remote:4227fdf0}
    app=ProcessRecord{41c1f560 8893:com.example.networkcheck/10146} pid=8893 uid=10146
    Filter #0: BroadcastFilter{421bc140}
      Action: "android.net.conn.CONNECTIVITY_CHANGE"
  ...略
この例だと、com.example.networkcheckコンポーネントが
Action名:android.net.conn.CONNECTIVITY_CHANGE のインテントフィルタを登録してい
ることがわかります。

以上です。