アプリが稼働するまで実行されるGPSを使用するアプリを開発しています。私のGPSは5分後にウェイクアップし、位置を取得すると、そのシンボルの点滅が停止し、ほとんどすべてのデバイス(Sony xperia、Samsungタブ、Htc WildFire、Motorola photon)で非表示になりますが、大量のバッテリー電力を消費するMotorolaDefyとSamsungAceでは非表示になります。GPSは修正され、安定して常に表示されるようになります。これらのデバイス(MotoDefyとSamsungAce)のGPSの動作方法は異なります。私のコードを見てください:
long _listenerWakeUpTimeInterval=1000*60*5;** //5 minutes
_locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, _listenerWakeUpTimeInterval, 300, locationListener);
すべてのデバイスのGPSは5分後にウェイクアップしますが、これら2つのデバイス(MotoDefyとSamsungAce)のGPSは、onLocationChanged(Location loc)
300メートルごとにメソッドを呼び出します。これら2つのデバイスでは時間は重要ではありません。私が(車で)速く旅行するとき、この距離は数分(1または2分)でカバーされます。だから私はonLocationChanged(Location loc)
メソッドの呼び出しを取得します。そして、これらのデバイスでは、GPSは常に固定され、静的で、可視です。locationManager.removesupdates
GPSが修正されるたびにメソッドを呼び出したくありません。私はこの方法onDestroy()
をサービスでのみ計算します。では、これら2つのデバイスのGPSの動作が他のデバイスと異なる理由と、この問題を解決する方法を教えてください。