Mat*_*tej 1 java gps android android-4.4-kitkat android-gps
我正在使用 AndroidLocationManager及其方法,requestLocationUpdates如下所示:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 10, this);
Run Code Online (Sandbox Code Playgroud)
我发现位置更新必须满足 minTime 和 minDistance 的条件,但我需要每 3 秒或 10 米更新一次。
我试图提出 2 个这样的请求:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, this);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 10, this);
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我只使用此代码每 10 米更新一次,而不是每 3 秒更新一次。
如果这很重要,我正在使用 API19。
requestLocationUpdate() 上的文档说:
requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)
使用指定的提供程序和挂起的意图注册位置更新。
所以你应该这样称呼它 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 10, this);
但是如果您将 minTime 设置为 0,它将在第一次收到位置更新时调用一次,然后在您更改 minDistance 米中的位置之前不会调用它。
编辑
根据与@Matej 的讨论,即使发生在不到 3 秒的时间内,我也需要每 10 米更新一次,即使位置变化不超过 10 米,也需要每 3 秒更新一次
如果你想定期requestLocationUpdates,你应该使用TimerandTimerTask并且requestLocationUpdates每 3 秒运行一次
schedule(TimerTask 任务,长延时,长周期)
为重复的固定延迟执行安排指定的任务,在指定的延迟之后开始。
| 归档时间: |
|
| 查看次数: |
6384 次 |
| 最近记录: |