我正在做一些关于获得我的gps职位的研究。我正在使用谷歌地图API v2,所以为了获得我当前的位置,我使用了这个
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
List<String> providers = locationManager.getAllProviders();
Criteria criteria = new Criteria();
bestProvider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(bestProvider);
所以根据我的理解,locationManager
中有一个列表,getLastKnowLocation()
返回该列表中的最后一个条目。此外,如果此列表不为空,我可以在应用程序离线时获取最后一个条目。
我碰巧在周末关闭了我的无线网络并检查它是否有效,但没有找到我的位置。
所以我的第一个问题是:如果一段时间内没有互联网连接,列表中的条目可供我的应用程序检索它们多长时间。
此外,我将检索的位置将是我在线时正确修复的最后位置吗?所以即使我可以检索它,它也不准确,所以在我的手机离线时有另一种方法来获取我当前的GPS位置吗? (即通过gps或gsm网络) 谢谢你的时间。
答案 0 :(得分:1)
首先,您无需连接到互联网即可通过GPS获取位置更新。如果您的设备支持GPS,如果您在室外,它将连接到GPS卫星,您可以通过GPS获取位置更新。 Read this了解如何使用位置提供程序。
另请注意,如果未打开提供程序,getLastKnownLocation()将始终返回null。引自android documentaion,
如果当前禁用了提供程序,则返回null。