OSブート時にアプリを自動起動してバックグラウンドに移動させたい。

837 views
Skip to first unread message

Kazuaki Okimoto

unread,
Sep 6, 2015, 8:52:49 PM9/6/15
to 日本Androidの会
アプリをOSブート時に自動起動したいと考えています。

BroadcastReceiverでBOOT_COMPLETEDメッセージを受信して、startActivityで
アプリを起動することはできましたのですが、アプリがフォアグランドにいるため、
OSを起動してロック画面を解除すると、いきなりアプリの画面が表示されてしまいます。

そのため、アプリをバックグラウンド状態で起動したい(OS起動後にロックを解除したときは
ホーム画面が表示される)のですが、どのようにすれば良いでしょうか?

よろしくお願いします。


Makoto Yamazaki

unread,
Sep 6, 2015, 8:57:45 PM9/6/15
to android-g...@googlegroups.com
zaki です。

startActivity せずに必要な処理を Service として実装するのがよいと思います。

--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
YAMAZAKI Makoto

Jun Shiozawa

unread,
Sep 6, 2015, 9:43:17 PM9/6/15
to android-g...@googlegroups.com

塩澤です
アクティビティではなくフォアグラウンドでサービスを起動するのが理想かと思います。
バックグラウンドでサービスを起動してしまうとメモリ不足時に強制終了してしまう確率が大幅に増えてしまいます。
フォアグラウンドのサービスも絶対に強制終了しないわけではありませんが強制終了の確率を大幅に減らせます。
android.app.Service#startForegroundメソッドを使います。

http://developer.android.com/reference/android/app/Service.html

ほんきで学ぶAndroidアプリ開発入門 Android Studio、Android SDK 5対応
寺園聖文 著
翔泳社
p.156
にこれの解説があります。

2015/09/07 9:52 "Kazuaki Okimoto" <kazu...@gmail.com>:

Kazuaki Okimoto

unread,
Sep 7, 2015, 5:14:08 AM9/7/15
to 日本Androidの会
ありがとうございます。

やはりサービスとして実装するしかないのですね。
ブートで起動するところまでは、割と簡単にできたので、その延長でうまくバックグラウンドにできればと
思ったのですが....

サービス化を検討します

2015年9月7日月曜日 9時52分49秒 UTC+9 Kazuaki Okimoto:
Reply all
Reply to author
Forward
0 new messages