【发布时间】:2013-04-08 18:59:24
【问题描述】:
我有一个简单的问题。正如 Android 开发者 Documentation 所说:
您可以控制听众接收更新的频率 与 第二个和第三个参数——第二个是最小的时间间隔 通知和第三个是之间距离的最小变化 通知——将两者都设置为零请求位置通知为 尽可能频繁。
但我从未见过onLocationChange 自己调用。 onLocationChange 是否曾经被自己调用过。无论是基于时间还是基于距离。如果是,如何复制。
我在代码locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 200000, 100, locListener);中添加了这一行
但location 永远不会自行改变。我还需要添加一些其他的东西吗?
【问题讨论】:
-
试试这个:locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 200000, 100, this);你用过onLocationChanged方法吗?
-
“本身”是什么意思?没有什么可以自己调用。当 GPS 接收器设备接收到更新时,Android 会在您的侦听器上调用 onLocationChanged()。通过提供频率值,您可以控制此设备查找更新的频率。
-
@ling.s 我的监听器是不同的类,所以我必须传递我的监听器的实例,所以我认为不需要传递这个。无论如何感谢 cmets
-
@Egor 我从 andriod.developer 的引文中了解到,如果我们在
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 120000, 100, locListener);中将 120000 作为参数传递,onLocationChange() 将在每 2 分钟后被调用一次所以我期待我的 onLocationChange 将再次被调用即使位置没有改变。告诉我是否错了。 -
@random4Infinity,不,如果位置没有改变,它永远不会被调用,更不用说你提供的频率参数了。