使用Google Play服务检查GPS状态

Kam*_*nek 8 gps android location google-play-services location-client

Google建议现在使用它Google Play Services来管理用户位置.但是,我们如何使用此API检查设备中是否打开了GPS,或者我们是否还有GPS连接?

com.google.android.gms.location.LocationListener我们只有一个方法abstract void onLocationChanged(Location location),当位置发生变化时调用,但我们不知道有什么关于GPS状态.

怎么使用Google Play Services像"老" LocationManagerLocationListener

Com*_*are 10

但是,我们如何使用此API检查设备中是否打开了GPS,或者我们是否还有GPS连接?

你不能,AFAICT.我认为这个论点是因为LocationClient混合来自多个来源的数据,所以没有API来确定是否使用了任何特定的来源.

LocationManager如果要确定是否启用了GPS,则需要使用.

  • @squixy:你想从`LocationManager`无法通过`LocationClient`获得的任何东西,你仍然需要使用`LocationManager`.将"LocationClient"视为"LocationManager"的附加组件,而非替代品. (3认同)
  • @CommonsWare如果启用了"位置访问"但在其中未启用"Wi-Fi和移动网络位置",则位置为空.我尝试禁用"位置访问"和"Google位置设置"中启用的所有内容,位置为空.(我现在加倍检查它,它似乎返回一个非null的`Location`,不确定它是否是来自它的提供者的缓存/最后一个已知位置. (2认同)