Androidアプリ「GPS定期測位」を作ってみた

→ Galaxy SII/Android/Google Latitudeの不満点

といった不満があったので、Androidアプリ作成の練習も兼ねて「一定時間おきにGPS測位するだけ」のAndroidアプリを作ってみた。

無料なので、もし同様の不満を感じているかたがいらしたらどうぞ。
個人的にはけっこう満足。
Google Latitudeで、そんなにバッテリも使わず、1時間に1回程度は、むちゃくちゃな誤差もなく、位置履歴が採れるようになったので。

GPS定期測位(Android Market)

アプリのアイコン、GPS衛星のつもりなんだけど・・・そう見えなかったらゴメンナサイ。

GPSでの測位を一定時間おきに行う、ただそれだけのアプリです。

このアプリそのものは、測位結果を記録することを目的としていません。

このアプリがGPSで測位したタイミングで、Google Latitudeが位置情報履歴を残してくれることを期待しています。

■製作意図

Androidの「無線とネットワーク」での位置情報取得を有効にしていると、時として非常に精度が悪い位置情報が取得されることがあります。

しかし、それを嫌って「無線とネットワーク」での位置情報取得を無効にし、「GPS機能を使用」だけを有効にしていると、Google Latitudeは自分でGPSを起動して位置情報を取りに行こうとはしないようで、Googleマップやその他のアプリがGPSを使った時、ついでに位置情報履歴を記録するだけのようです。逆に言うとGPSを使わないでいると、いつまでたっても履歴が残りません。

ならば、定期的にGPSで測位してやるアプリを動かしておけば、Google Latitudeも定期的に履歴を残してくれるのではないか?というのが本アプリの製作意図です。

実際、本アプリを15分おきの設定で動作させておけば、1時間に1~2回程度は、Google Latitudeで履歴が残るようになりました。

■設定・動作について

GPS測位間隔は、15分・30分・1時間・2時間 から選択できます。
(注:間隔は目安であり、正確ではありません)

GPSを起動して一定時間内に測位できなければその回の測位はあきらめますが、
そのタイムリミットは 30秒・1分・2分 から選択できます。

有効に設定すると、Androidを再起動しても、起動時から定期測位動作は有効になります。

アプリの画面には、直近10回までの測位動作結果を表示します。
動作時刻 OK 測位成功 測位までにかかった秒数と、大まかな座標を表示
動作時刻 NG 測位失敗 失敗判定までの秒数

本アプリの測位機能は常時バックグラウンドで動作しているわけではなく、必要時のみ起動しますので、バッテリ使用は最小限だと思います。
(技術的に言うと、ServiceをAlarmManagerによって起動しています)

動作確認は GALAXY SII(Docomo SC-02C) Android 2.3.5 で行っています。

2011/11/25 Ver 1.0 初版

コメント

タイトルとURLをコピーしました