Androidの電源をOFFにして、その後ONにしたときは、BOOT_COMPLETED がブロードキャストされる。
このブロードキャストを受け取り処理するロジックを記述して、エミュレータで電源をオフしようとしたがやり方がわからなかったので調査したメモ。
1.エミュレータの左上の電源ボタンらしき物を押すと、反応はするが何もおこらず。
poweroff1.png
2.通話を切るボタンを長押しをすると、「Power off」ダイアログが表示され、最終的に以下の画面となる。
poweroff2.png
しかし、この後Power offするわけでもなくキャンセルもできずに、エミュレータを終了するしかなくなってしまう。
正解は、Power off / on は、エミュレータの終了、起動と同じ動作をする。
きちんと、起動時にBOOT_COMPLETED がブロードキャストされているのを確認した。
実際にコードを書いて動作検証をするときは、いちいちエミュレータの再起動をしていたのでは、効率が悪いし、デバック実行もできないので、adb shellでエミュレータに入り、以下のコマンドを使用する。

am broadcast -a android.intent.action.BOOT_COMPLETED