How to get gps coordinates every minute in Android?

旧时模样 提交于 2019-12-18 17:34:09

问题


I want to get my coordinates every minute, even if a user is not moving. So i used requestLocationUpdates with the following parameters:

  locMgr.requestLocationUpdates(
                    LocationManager.GPS_PROVIDER,
                    60000,      // minTime in ms
                    0,      // minDistance in meters
                    PosljiLokacijo.this);

But when i test it on my HTC Hero (2.1 Android) and i am not moving, onLocationChanged() is never called. If i change minDistance to 1, then i get a few updates at start but after that, they come in very unregular intervals.

How should i choose these 2 parameters (minTime and minDistance) to receive coordinates every minute?


回答1:


I don't think "minTime" or "minDistance" will help in this case, unless: save the last location into variables and output them every minute. Let the locationManager overwrite those variables so after a minute, the location change becomes visible. That way there's no need to wait for an update as your variables always hold the actual position.

You can also retrieve the location from the locationManager and request the location again after one minute (or whatever you'd like your interval to be) without using requestLocationUpdates.

e.g. take a look at the Timer to set a repeated call to your method that gets the location:
http://developer.android.com/reference/java/util/Timer.html

That way you should also save battery as the system won't be looking for updates all the time.




回答2:


According to the documentation:

minTime the minimum time interval for notifications, in milliseconds. This field is only used as a hint to conserve power, and actual time between location updates may be greater or lesser than this value.

The only way I see to do what you want would be to set minTime to 0 and throw out values that are too frequent. You'd still not be guaranteed to get updates as often as you'd like, and be prepared for your app to be a battery killer as well.



来源:https://stackoverflow.com/questions/4595099/how-to-get-gps-coordinates-every-minute-in-android

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!