AndroidのBOOT_COMPLETEDの受信とテスト
Androidアプリで、端末を立ち上げた時にサービスを起動させたい時があると思います。
この時に使用するのが
「BOOT_COMPLETED」Actionですが、これをテストする時に、コマンド
「adb shell am broadcast -a android.intent.action.BOOT_COMPLETED」とターミナルから実行して
「BOOT_COMPLETED」actionを発生させます。
これで、受信出来ると思いきや、AndroidManifest.xmlの記述によって上手く受信出来る場合と、失敗する場合があるので報告です。
githubにテスト用のサンプルプログラム「SampleBootCompleted」をアップしました。
まず上手くいく場合が、こちらです。
<receiver>のタグに「android:permission=”android.permission.RECEIVE_BOOT_COMPLETED”」を記述しない方法です。
失敗するのが、以下
<receiver>のタグに「android:permission=”android.permission.RECEIVE_BOOT_COMPLETED”」を記述する方法です。
実機で実際に、電源のON/OFF操作をすればどちらでも処理が動作するのですが、
「adb shell」でテスト使用とする場合は注意しないとはまるので注意が必要です。
でもなんでだろ?バグなのかな。まぁ、実際の動作では大丈夫なのでテストがメンドイだけですが。。。
関連する記事:
- nginxでfuelphpを使用する場合の注意点
- AndroidManifest.xmlに記述した
のデータ取得方法 - Androidのサービスでintentを使うとNullPointerExceptionで落ちるのを回避
- AndroidのPendingIntentで気を付けるべき事
- 「Vimをつかってくれてありがとう」を表示させないようにする方法
コメント 0