【发布时间】:2012-11-24 15:18:03
【问题描述】:
我正在创建一个应用程序,它通过网络广播用户的位置,为此我创建了一项服务,我在其中使用LocationListener 并从中获取更新
onLocationChanged
我将requestLocationUpdates设置如下
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
15000,
0,
geoHandler);
每当我在onLocationChanged 中获得更新时,我都会通过网络广播该位置。
现在的问题是onLocationChanged 被触发太频繁,即使它没有超过时间限制(这是完全不可预测的),这反过来又触发了我正在广播位置的自定义函数信息过于频繁。
所以我不知道如何以适当的及时方式同步此过程,例如每 15 秒通过网络广播一次该位置,而不是过于频繁地启动它
【问题讨论】:
-
如何使用每 15 秒重复一次的
Alarm。然后启动您的Service,您可以检查位置是否已更改,并在必要时广播该位置。这似乎是一种基本方法。我可能在你的问题中遗漏了一些东西。 -
@KerimOguzcanYenidunya 这是一个非常糟糕的方法。您白白消耗电力和电池。
-
@Hunt 请检查您的代码,因为我刚刚测试了与您相同的方法,并且效果很好。
-
@Tudor 你试过服务吗?
-
@Hunt 是的,但时间间隔更长。
标签: android google-maps android-service android-location