0

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

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

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

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

有人可以帮忙吗?

4

1 回答 1

1

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

在 Jellybean 之前,minTime 参数只是一个提示,一些位置提供程序实现忽略了它。从 Jellybean 及以后,Android 兼容设备必须遵守 minTime 和 minDistance 参数。

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

于 2013-04-19T00:28:25.370 回答