Android4.4+でのGPSの動作
あけましておめでとうございます。
今年もよろしくお願いします。
さて新年最初の記事になります。
今回は今更感が半端ないですが、タイトルの通りAndroid4.4+でのGPSの動作についてです。
年末年始になんとなくNexus4を触っている際に、Google Mapを起動しました。
私は「Tasker」で
Map起動→GPS on
というプロファイルを組んでいるので
この状態で現在地を確認することができます。
・・・のはずが、現在地の取得に長い時間がかかり
なかなか現在地を特定できません。
おかしいな~と思いつつも、原因がはっきりしませんでした。
そこで詳しく調べてみると、Android4.4以降でGPSに関して変更があることを知りました。(今更)
さらにTaskerでGPSをonにするプロファイルの中で使用している
「SecureSettings」というアプリでも設定が必要なことが分かりました。。。
なんと情けない…
というわけで、1つずつ見て行きましょう!
・Android4.4+でのGPSについて
Android4.3ではGPSは単にon/offだけでしたが
Android4.4以降ではon/offだけでなく3つのモードが搭載されています。
高精度・バッテリー節約・端末のみの3つです
高精度=GPS+WiFi+モバイルネットワーク
バッテリー節約=WiFi+モバイルネットワーク
端末のみ=GPSのみ
つまりGPSのon/offに加えて、モードの選択も必要になってくるということです。
・TaskerでのGPS制御方法
さて、ここまでいろいろ調べてきてわかった(気づいた)のですが
Android4.1以降では「SecureSettings」でインストールする「SecureSettingsHelper」ではなく
「HelperAlternative」が必要な場面があるようです。(画像下部)
さっそくこの「HelperAlternative」を導入しました。
これで以前と同様にTaskerが機能してくれます。
・・とその前に、もうひとつだけ設定が必要になります。
上述したGPSのon/offとモードの選択ですが
・GPSは常にon
・(Taskerでの動作は)高精度とバッテリー節約を切り替える
という形になります。
つまり、GPSをoffにしてしまうと、Taskerが動作しません。
気をつけましょう。
なんだかGPSで常に監視されている感じがしてイヤですねw
そういう方は、GPSを使用したアプリの履歴が出るので
App opsやApp Settingsなどで、現在地情報の権限を削ってあげればいいでしょう。
少々複雑ですが、GPS機能についての記事でした。