プログラマってこんなかんじ??

アプリ作ったり歌ったりしてます

端末起動時に起動する常駐serviceのデバッグ(ACTION_BOOT_COMPLETED)

表題のような常駐serviceを作成しようとすると

BroadcastReceiver が intent(ACTION_BOOT_COMPLETED) を受けたらそれを契機にservice起動する

という仕組みが主流だと思う。(自分はこれしか知らない)

こんなserviceをeclipseで修正/動作確認しようとすると、

  • eclipseでソース修正->build->apkファイル作成
  • apkファイルuninstall
  • apkファイルinstall
  • emulator再起動

と非常にめんどくさい。
emulatorの再起動は時間がかかるのでなるべく控えたい。。


こんなときにー!


intentはコマンドラインでも投げれたりする。
たとえば、intent(ACTION_BOOT_COMPLETED)を投げる方法はこんなかんじ。

>adb shell
#am broadcast -a android.intent.action.BOOT_COMPLETED
  • eclipseでソース修正->build->apkファイル作成
  • apkファイルuninstall
  • apkファイルinstall
  • コマンドラインで intent(ACTION_BOOT_COMPLETED) 投げる
  • intent(BOOT_COMPLETE) を契機にservice起動

emulator再起動せずにこんなかんじで開発できるので便利便利。