この方法は
LocationListener.onLocationChanged
、場所を取得する他のどの方法よりも優れています。もしそうなら、より良いバッテリー性能を得るために、それを使用するより良い方法があります.
質問する
347 次
1 に答える
0
に代わるものはわかりませんが、LocationListener.onLocationChanged
これについて何か光を当てることができますか?
バッテリーの問題に関しては、バッテリーの消耗 requestLocationUpdates()
を避けるために電話をかける頻度を減らすことができます. この呼び出しには変数minDistance
(ミリ秒単位) が含まれているため、これを使用する必要があります。Android 4.3 までは minDistance の監視は必須ではなかったことに注意してください。
4.3 より前のバージョンのデバイスの場合は、
1) onLocationChangedで更新の呼び出しを停止する
@Override
public void onLocationChanged(Location location) {
mLocationManager.removeUpdates(mLocationListener);
}
2) メソッドの実行をオーバーライドして、新しい間隔を導入します。
@Override
public void run() {
// getting location...
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationListener);
// ...once per hour
mHandler.postDelayed(onRequestLocation, DateUtils.HOUR_IN_MILLIS);
}
于 2015-01-30T06:34:01.873 に答える