2

我正在编写一个通过短信查找手机位置的应用程序。我使用一个短信广播接收器,当正确的短信进来时,获取一个唤醒锁,然后启动定位服务,该服务从 GPS 和 NETWORK 请求位置更新。在第一次onLocationChanged 上,我将位置发送给请求者,停止服务并释放锁。

我想知道android总是调用onLocationChanged吗?或者当它找不到设备的位置(例如设备在室内)时,它不会被称为永远?

调用这个函数非常重要,因为如果不是这样,直到电池没电时才会释放锁。在那种情况下,有没有其他方法可以完成服务?

还有什么,Dose 定位服务需要电源锁吗?

4

1 回答 1

1

Yes, if it can't get a GPS lock it will never call onLocationChanged. Unless you want to keep the screen on I don't think you need to hold a wakelock though- I believe the GPS system will call you when the phone is woken up.

于 2013-01-19T03:10:17.257 回答