Android:每次使用时获得即时位置的最佳方式

时间:2013-01-21 08:30:19

标签: android location

我总是遇到一些困难,无法找到设备即时位置的好方法。 我想要做的是每次使用应用程序(例如,当调用活动的onCreate时),我想知道设备在那个确切时刻的坐标,而不再要求它们。 我认为最好的方法是使用类似于以下函数的静态类:

coordinates getCoordinates();

给出一些建议/片段?

2 个答案:

答案 0 :(得分:6)

使用LocationManager.getLastKnownLocationLocationManager.requestSingleUpdate

第一个将立即返回,但如果没有可用的位置,则可能返回 null

第二个将在回调中返回您的数据,但会唤醒所需的任何提供商并获得一个好位置(如果可能)。

答案 1 :(得分:2)

我在THIS回答中找到了我真正想要的东西。

我只添加了两个控件;我检查是否:

  • gps_loc.getTime()(或net_loc.getTime())大于System.currentTimeMillis() - 300000(5分钟前)。在内部类GetLastLocation的方法run()中;
  • location.getAccuracy()< 100.在LocationListeners(网络和GPS)的onLocationChanged()方法中。

希望它有所帮助!