0

私は3時間ごとに現在の場所に基づいて天気をチェックするアプリを開発しています。私は、FusedLocationProviderApiを使用して場所を取得し、IntentServiceを起動するBroadCastReceiverにpendingIntentを使用しています。FusedLocationProviderApiを使用して定期的な場所の更新を開始するか、代わりにAlarmManagerを使用してください

FusedLocationProviderApiでは、LocationRequestを作成している期間を指定できます。したがって、間隔を3時間に指定し、最速の間隔を3時間に設定すると(その前に更新を取得したくない)、場所の更新を行うときに場所が利用できない場合はどうなりますか?

スケジュールされた時刻にまだ位置更新のインテントが得られますか?場所が利用できない場合は、最後の既知の場所を使用したいと思いますが、スケジュールされた時刻にPendingIntentを取得していることを確認する必要があります。

また、アラームマネージャを使用して定期的な作業を処理し、代わりにIntentService内から位置の更新を要求する方がよいでしょうか? FusedLocationProviderApiで

おかげ

答えて

0

あなたはなLocationRequestを作成しているインターバル期間を指定することができます。したがって、間隔を3時間に指定し、最速の間隔を3時間に設定すると(その前に更新を取得したくない)、場所の更新を行うときに場所が利用できない場合はどうなりますか?

このScenerioデバイスでは、ロケーションリクエストを有効にするために、起動している必要があります。つまり、ノンストップ(理論上)のバックグラウンドサービスと部分的なウェイクロックが必要であることを意味します。彼らは良くないと思う。

代わりに、3時間ごとに起床するように設定されたAlarmManagerアプローチを参照できます。デバイスがウェイクアップ

  • の下
+0

  • は(あなたの実際の作業をしてもやって)場所を受け取った後にスリープ状態に継続する(ゼロに間隔の値を設定する)まもなくロケーション要求を行いますようにそして、アイデアが動作しますありがとう。私は、デバイスがスリープモードに入っている場合(待機中に起きていなくても)、場所の天気を要求するIntentServiceで始まるWakefulBroadcastReceiverへの位置更新のためにPendingIntentを使用すると考えていました。 – stefanb

  • +0

    FusedLocationProviderApiからの定期的なレポートの信頼性に関する経験はありますか? AlarmManagerと同等の信頼性を備えていますか? – stefanb

    +0

    このライブラリ[cwac-locpoll](https://github.com/alexbirkett/cwac-locpoll)を確認してください。これはまさに必要なものですが、LocationManagerを使用しています。古い場所の代わりに融合場所プロバイダを実装することができます。 – Blackkara

    関連する問題