LoginSignup
5
6

More than 5 years have passed since last update.

AndroidのForeground ServiceはDozeモードの影響を受けないのか?

Last updated at Posted at 2017-05-31

初投稿させていただきます。

今更ながらAndroid 6.0から登場したDozeモードへの疑問です。

公式ドキュメントでは、Foreground ServiceはApp Standbyに関する項目でしか触れられていません。

なので、Dozeモードのホワイトリストに登録されていないアプリはForeground Serviceであっても下記条件でDozeモードに移行し、通信が制限さりたりAlarmManagerが無視されると言ったことが起こるはずです。

  • 端末を電源と接続しない
  • 静止状態にする
  • 画面をオフにする

しかし、実際にForeground ServiceでGPSを取得し定期的にサーバへ送信するようなアプリを作って端末を数時間放置してみると問題なく動作をし続けるようです。

問題なく動作し続けるのでこれと言って問題はないのですが、気になって仕方がありません。

調べてみると2015年にGoogle+のコメントでAndroidフレームワークのエンジニアがポロッと下記のようなことを言っているのを見つけてしまいました。

Apps that have been running foreground services (with the associated notification) are not restricted by doze.

え?Foreground ServiceはDozeモードの制限を受けないだってーー?公式ドキュメントには一言もそんなこと…。

このコメントは信じていいのでしょうかね・・・。

同じように気になっていて調べたよという方!いらっしゃいましたらコメントください!

2017/06/06追記

再度実験を行った結果、Foreground ServiceもDozeモードの影響を受けることがわかりました。
また、実験した端末ではDozeモードのホワイトリストへ手動で登録した場合でもDozeモードに移行してしまうことを確認しました。
Dozeモードの実装は各メーカー毎に手が加えられているため機種ごとに動作が異なる可能性があるようです。

■確認端末
- aquos u shv37 Android6.0

ちなみにFreetelの端末もDozeモードの動作に不具合があるというような口コミがありました。

最初に述べていた数時間放置しても問題なく動作し続けていたという報告ですが、担当者に確認したところ充電状態にあったとのことです。
そのためDozeモードが発動しなかったと推測されます。

5
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6