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

Android 安卓:每次使用一次即可获得即时位置的最佳方式,android,location,Android,Location,我总是很难找到一个好方法来即时定位设备。 我想做的是每次使用应用程序一次(例如,当调用onCreate活动时),我想知道设备在那一刻的坐标,并且不再要求它们。 我认为最好的方法是使用类似于静态类的东西,其函数类似于: coordinates getCoordinates(); 提供一些建议/片段?使用LocationManager.getLastKnownLocation或LocationManager.requestSingleUpdate 第一个将立即返回,但如果没有可用的位置,则可能返回

我总是很难找到一个好方法来即时定位设备。 我想做的是每次使用应用程序一次(例如,当调用onCreate活动时),我想知道设备在那一刻的坐标,并且不再要求它们。 我认为最好的方法是使用类似于静态类的东西,其函数类似于:

coordinates getCoordinates();

提供一些建议/片段?

使用
LocationManager.getLastKnownLocation
LocationManager.requestSingleUpdate

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


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

我找到了我真正想要的答案

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

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

希望有帮助

谢谢大家!!那很有帮助!我找到了我真正在寻找的答案