0

ユーザーの場所に基づいて(AlarmManagerを使用して)アラームを更新するAndroidアプリを作成したいと思います。ユーザーが100マイル離れると、アラームのスケジュールが変更されます。このアプリはスケジューラーアプリのようなものです。

この問題を解決するために、削除されないロケーションリスナーを作成します。私の質問は次のとおりです。

  1. バッテリーを食べてしまいますか?アラームが現在のユーザーの場所で最新である必要があります。
  2. アプリケーションを常にウェイクモード(ウェイクロック)に設定する必要がありますか?
  3. 私の解決策が良くない場合、あなたの提案は何ですか?

どうもありがとう!

4

1 に答える 1

0

それは私のバッテリーを食べますか?アラームが現在のユーザーの場所で最新である必要があります。

はい、アプリがタイムリーに位置情報の更新を受け取るという保証はありません (デバイスがスリープ状態の場合など)。

アプリケーションを常にウェイク モード (ウェイク ロック) に設定する必要がありますか?

を長押しすると、アプリを実行し続けるのWakeLockに役立ちますが、特に何百マイルも離れたユーザーを追跡している場合は、バッテリーが非常に早く消耗します。

私の解決策が良くない場合、あなたの提案は何ですか?

AlarmManager を使用して、デバイスの位置を定期的に確認することを検討してください。15 ~ 30 分ごとにアラームを処理すると、フルタイムのロケーション リスナーを使用するよりもバッテリーの消費がはるかに少なくなります。アラームが発生するたびに、ロケーション リスナーを登録および登録解除できます。WakeLockアプリが各アラームを処理するとき (および直後にロックを解除するとき)を取得する限り、アプリは定期的な位置情報の更新を受信し、バッテリーを消耗しません。アラームと WakeLocks を処理するためのソリューションとして、WakefulIntentServiceを検討することをお勧めします。

于 2012-10-01T02:43:40.750 に答える