如何监听位置提供商变为启用/禁用?

时间:2012-05-28 02:54:11

标签: android locationmanager

当位置提供程序启用或禁用时,是否有可能获得通知,而实际上没有查找设备的位置(因为这样做可能会占用很多电量)?

2 个答案:

答案 0 :(得分:1)

在android中有LocationListener接口,它提供了一个抽象方法onProviderEnabled(String provider)。因此,您已创建自己的侦听器并实现onProviderEnabled(String provider)方法。您的听众必须向位置管理员注册。

如果与上述相同,则在启用位置提供程序时将自动调用onProviderEnabled(字符串提供程序)。

答案 1 :(得分:0)

Locationmanager.isProviderEnabled()似乎不需要实际查找位置。它不会太高效,因为你需要轮询它,但它比获得实际位置更好。

实际上,在阅读有关该主题的更多内容后,您似乎可以使用requestLocationUpdates()来执行此操作。当启用或禁用提供程序时,它将向您发送包含KEY_PROVIDER_ENABLED的捆绑包。您可以将通知的最小时间和距离设置为极高值。这样,您偶尔会获得位置通知,而且大部分只是启用/禁用通知。