启用GPS但无法到达卫星时的location.getLocation()

时间:2014-04-09 19:35:36

标签: android gps location

如果用户不想启用GPS,我有一个工作应用程序可以按距离我的位置或按字母顺序对地点进行排序。一切都运作良好,但我想通过按字母顺序自动排序,如果无法到达卫星,例如从地下室,或者它只是接管给定的时间段,比如5秒,我想增强我的应用程序。这甚至可能吗?我还没有找到这样的东西。我只想弹出一条信息,上面写着"无法到达卫星,按字母顺序排序"而不是用户必须自己做任何事情。

感谢您的回复和时间。

麦克

2 个答案:

答案 0 :(得分:1)

您应该覆盖LocationListener onStatusChanged()回调:

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
  if (provider.equals(LocationManager.GPS_PROVIDER)){
      if (status == LocationProvider.OUT_OF_SERVICE || status == LocationProvider.TEMPORARILY_UNAVAILABLE){
        // GPS unavailable: send notification
      } else {
         // you're out of a basement, continue using GPS 
      }     
  }
}   

Android文档承诺,如果您订阅LocationListener时提供商不可用,它会立即调用此回调。

答案 1 :(得分:1)

为什么不在Out of Service' Temporarily Unavailable中使用Location ListeneronStatusChanged()的某种组合?

http://developer.android.com/reference/android/location/LocationListener.html