在我离线时获取我的GPS位置

时间:2014-01-27 11:53:25

标签: android geolocation gps location

我正在做一些关于获得我的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网络) 谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

首先,您无需连接到互联网即可通过GPS获取位置更新。如果您的设备支持GPS,如果您在室外,它将连接到GPS卫星,您可以通过GPS获取位置更新。 Read this了解如何使用位置提供程序。

另请注意,如果未打开提供程序,getLastKnownLocation()将始终返回null。引自android documentaion,

  

如果当前禁用了提供程序,则返回null。