私は、単一のロケーションアップデートを取得する必要があるフォアグラウンドサービスを提供しています。AndroidのDozeモードでフォアグランドサービスが位置更新を受信しないO
これは特定のブロードキャストによって開始され、開始時には単にバックエンドに対して要求を行います。別のブロードキャストを受信すると、位置の更新を要求し(1回)、別のバックエンド要求を行い、次に停止します。
編集:明確にするために、サービス自体が位置更新とバックエンド要求を行います。それはその点でメインアプリから独立しています。
これは、電話機が起きているとき、またはドーズモードのときに、LollipopとMarshmallowでうまくいきます。しかし何らかの理由で、Android Oでは、Dozeモードではサービスが決して位置情報を更新しません。両方の状況で最初の要求が通過するので、ネットワークは正常に機能します。また、位置情報要求が実行されている間に私が電話を起動すると、更新情報が取得されます。メンテナンスウィンドウに入れても同じです。
Android Oはbackground locationにいくつかの制限を導入していますが、ページに言及すると、フォアグラウンドのアプリの動作(アプリの表示またはフォアグラウンドサービスの実行)は維持され、Androidの以前のバージョンと似ています。
これはデベロッパーのプレビューの問題か、私が逃した制限ですか?
だけ明確にするために、両方のサービスから作られるネットワーク要求との位置更新要求されていますか? – Noel
@ Noel yep。 – Jukurrpa