EDIT MODE

モバイルアプリ開発に関することを書いています

Android SDKにバンドルされてるIntentアクションのリスト

知ってる人は知ってることなんでしょうけど、自分的には大発見だったので嬉しくて記事にしました。

ことの発端は、OSが投げてくるBroadcastの一覧を探してたところ、BroadcastのAPIガイドを呼んでいたら次のような一文を見つけたためです。

For a complete list of system broadcast actions, see the BROADCAST_ACTIONS.TXT file in the Android SDK.

引用:Broadcasts | Android Developers

慌ててfindコマンド叩いたら本当にありました。全然知らなかった。

$ find . -name "broadcast_actions.txt"
./platforms/android-24/data/broadcast_actions.txt
./platforms/android-25/data/broadcast_actions.txt
./platforms/android-27/data/broadcast_actions.txt
./platforms/android-21/data/broadcast_actions.txt
./platforms/android-26/data/broadcast_actions.txt
./platforms/android-19/data/broadcast_actions.txt

なるほど、APIレベルごとにあるんですね。

Android SDKにバンドルされているリスト

broadcast_actions以外にも一覧として欲しい情報が、いろいろとありました。いづれも sdk/platforms/android-[API level]/data の中にあります。

$ ls
NOTICE.txt            annotations.zip       broadcast_actions.txt features.txt          layoutlib.jar         service_actions.txt   widgets.txt
activity_actions.txt  api-versions.xml      categories.txt        fonts                 res                   tzdata
  • broadcast_actions.txt
    • OSがブロードキャストとして通知するアクションの一覧
  • features.txt
    • AndroidManifestに宣言できる機能の一覧
  • service_actions.txt
    • 各サービスを利用する際に指定するアクションの一覧(?)
  • widgets.txt
    • Viewコンポーネントの一覧(?)
  • activity_actions.txt
    • startActivity()とかで使えるアクションの一覧
  • categories.txt
    • 単なるカテゴリの一覧(?)

※ ?のものは推測です。もしかしたら別の意図のある一覧かもしれません。

まとめ

  • Android SDKには各APIレベル毎にIntentアクションなどのリストがある
  • 各リストはフルネームが列挙されてるので詳細はリファレンスで調べる必要がある