6

GPS 位置情報を外部 Web サイトに 5 分ごとにアップロードするアプリを Android で作成したいと考えています。これは、バッテリー寿命への影響を最小限に抑える必要がありますが、ユーザーの操作なしで機能する必要もあります。(背景: 完了するのに約 14 時間かかるアイアンマン トライアスロンに参加しており、自分の位置をほぼリアルタイムでブロードキャストしたいと考えていますが、携帯電話をいじることを心配する必要はありません。)

したがって、私の最初の考えは、LocationManager.requestLocationUpdates() を 5 分の minTime で使用する Service を作成することですが、これは実際に私のサービスがその仕事をするために 5 分ごとにデバイスを起動しますか?

AlarmManager.setInexactRepeating() を使用して、サービスがタスクを完了している間にサービスが起動していることを確認する必要があるように思えますが、それは requestLocationUpdates() でどのように機能しますか? 代わりに requestLocationUpdates() で minTime=0 を設定し、次の更新が取得されるとすぐにスリープ状態に戻る必要がありますか?

これを設計する方法に関する一般的なガイダンスは大歓迎です。私は有能な Java プログラマーであり、サーバー上で Google マップを使用して自分の位置をプロットしますが、Android 開発にはかなり慣れていないため、基本的にクライアント アプリの設計方法に関する高レベルの計画を探しています。

4

1 に答える 1

1

更新を受信するには、サービスが常に稼働している必要があります。

http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates%28java.lang.String,%20long,%20float,%20android.location.LocationListener%29

minTime パラメータを使用して、場所の変更を通知する頻度を指定できます。ただし、バッテリーの消費は減りません。アップデートを受信する頻度に関係なく、removeUpdates メソッドを使用しない限り、GPS は有効になります。

上記の方法を使用して GPS を有効にし、1 つの値を読み取り、removeUpdates メソッドを使用し、5 分間待ってからもう一度やり直すという別のアプローチを使用できます。ロケーションを有効にしてから取得するまでの遅延は、数秒から数分の間です。

于 2010-08-23T14:15:45.487 に答える