位置管理器发送多个更新,尽管参数

时间:2013-04-18 21:45:33

标签: android

我有一个在应用程序启动或手机启动时启动的服务。

在onCreate中,我定义了请求位置更新的参数:

lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 300000, 8046, this);

我的理解是,如果5分钟过去或用户移动超过5英里,它现在只会提供更新。我实际得到的是每分钟或更短时间的更新。 300000数字是5分钟(以毫秒为单位),8046是5英里(以米为单位)。 我知道服务通常不会被调用,因为它会在服务首次启动时创建一个toast并且不会一直显示。

任何人都可以帮助这个吗?

1 个答案:

答案 0 :(得分:1)

来自http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(long requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent)的文档,float,android.location.Criteria,android.app.PendingIntent)

  

在Jellybean之前,minTime参数只是一个提示,一些位置提供程序实现忽略了它。从Jellybean开始,Android兼容设备必须同时观察minTime和minDistance参数。

提供者可能也忽略了距离限制。