Android LocationManager进入睡眠状态?

时间:2011-08-19 10:14:38

标签: android gps locationmanager

我正在开发一种位置记录应用程序,可以每秒保存一次手机位置 我已经实现了订阅LocationManager更新的服务:

HandlerThread thread = new HandlerThread("LocationServiceHandler");
locationManager.requestLocationUpdates(GPS_PROVIDER, 
    1000 /* milliseconds*/, 0 /* meters */, listener, thread.getLooper());

通过绑定到应用程序上下文来启动服务 应用程序通常在后台运行,不需要任何用户交互 一般来说,当我在我的建筑物周围走动时,它工作正常 - 该服务每秒获取一个新位置+时间戳并将其存储到位于外部存储器的文件中。 但是当我到一个远离城市的空地时,我发现日志文件中的记录间隔4-5分钟。我可以肯定地说那个时候手机还没有使用,而且是在空旷的天空下,没有任何可见的东西挡住了卫星。它不规则地发生,每小时一次,我不能在我的办公室重现这种行为 任何想法,可能导致什么?怎么可以避免?
手机是Nexus S,Android 2.3.4

1 个答案:

答案 0 :(得分:0)

你正在使用唤醒锁吗?手机可能会进入睡眠状态,因此您会错过位置。否则,它可能只是位置管理器,因为1000毫秒是最好的情况,所以不会给你这个位置。请参阅Update GPS Listener every 5 seconds个答案。