我正在开发一个应用程序,可以在某些操作中使用用户当前的位置。位置对用户来说更多是一种好处,而不是过程的关键部分。我只对非常粗略的准确性感兴趣,即使偏差5或者10英里,仍然有价值。我的一般计划是查看网络提供程序是否启用,然后只需执行
locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)
假设没有其他应用程序在运行,手机会自动定期更新网络位置吗?也就是说,这段代码可能始终会返回一个符合我的需求的值吗?编辑:
我进行了更多的研究,我认为我真正想问的问题是Android操作系统或手机本身是否会更新网络提供程序的上次已知位置,当手机锁定不同的手机基站或Wi-Fi网络时。答案似乎是否定的。在强制停止我知道与位置服务交互的所有应用程序之后,上次已知位置停止更新。所以,我猜现在大部分手机都会有一些在后台运行的位置服务来更新上次已知位置,但手机本身不会这样做。因此,如果上次已知位置太旧,我想我将使用某种形式的请求位置更新。