知ってる人は知ってることなんでしょうけど、自分的には大発見だったので嬉しくて記事にしました。
ことの発端は、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アクションなどのリストがある
- 各リストはフルネームが列挙されてるので詳細はリファレンスで調べる必要がある