2017-08-07 11 views
0

私のアプリは現在、PendingIntent.getBroadcastを使用して、FusedLocationApiから位置情報を受信して​​います。 Android Oでは、私のロケーションの更新がどのように影響を受けますか?私はこのリンクに記載されているドキュメントを調べました:https://developer.android.com/preview/features/background.html#broadcasts。 しかし私はまだ私の状況についてはわかりません。私は、FusedLocationApiから位置更新を受け取る前景サービスもバックグラウンドサービスもありません。私はFusedLocationApiからの更新を聞いている放送受信機を登録しました。Android O:新しいバージョンのAndroidが位置情報の更新に与える影響は?

ありがとうございます。

+0

ブロードキャストレシーバーがバックグラウンドまたはフォアグラウンドで動作するかどうかによって異なります。それがアクティビティの一部である場合、ロケーションの更新は以前と同じように動作します。このコンテキストのフォアグラウンドでは、アクティビティまたはフォアグラウンドサービス(通知として表示)のいずれかによって、ユーザーが表示可能であると解釈する必要があります。 – M66B

+0

私のBroadcastReceiverはWakefulBroadcastReceiverを拡張します。ロケーションのアップデートが受信されるたびにバックグラウンドでサービスを開始します。 – Kanika

+0

あなたのブロードキャストレシーバーもどこかで動作していますが、これはフォアグラウンドかバックグラウンドかを問われます。 – M66B

答えて

1

はい、あなたのアプリはいくつかの点で影響を受けます。ロケーションリクエストのセットアップ方法に関係なく、アップデートは1時間に数回だけ届きます。さらに、受信者からサービスを開始することはできません。サービスがフォアグラウンドにある場合、またはユーザーがアプリをバッテリ不足から除外した場合にのみ、サービスを開始できます。したがって、頻繁に更新が必要な場合は、アプリケーションをフォアグラウンドに保つためにフォアグラウンドサービスを開始する必要があります。サービスは "空"(作業なし)でも構いません。現在のデザインを維持できます。目的はアプリをフォアグラウンドに保つことだけです。

+0

詳細を教えてください。「受信者からサービスを開始することはできません。サービスがフォアグラウンドになっているか、ユーザーがバッテリー最適化からあなたのアプリを除外しました。私はこれについて読んでいない。また、この情報を見つけたリンクを私に教えてください。ありがとう。 – Kanika

+0

https://developer.android.com/preview/features/background.html – greywolf82

+0

興味深い。ありがとうございました。ほとんどこの点を逃した。バックグラウンド受信者からフォアグラウンドサービスとしてサービスを開始できる回数には制限がありますか? – Kanika

関連する問題