android - 如何从 GPS_PROVIDER 自动更改为 NETWORK_PROVIDER

标签 android android-location

是否有任何我可以使用的代码,这样我就不必自己实现它来自动从 GPS_PROVIDER 更改为 NETWORK_PROVIDER

实际上我使用这段代码:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

但我想做以下事情:
尝试使用 GPS,只要它不可用就使用 NETWORK_PROVIDER。但是当 GPS 可用时切换到它。当 GPS 丢失时,切换回 NETWORK_PROVIDER

最佳答案

Location loc =locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);    
    if(loc == null)
    {
        loc = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

        if(loc != null)
        {
            //do stuff on network provider
        }

    } else {
        // do stuff on gps provider
    }

关于android - 如何从 GPS_PROVIDER 自动更改为 NETWORK_PROVIDER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16687578/

相关文章:

Android:应用程序因后台位置而被 Google 拒绝

Android在按钮点击中获取位置

android - 没有从android中的json获取值

java - 如何保护从 OAuth 保护的资源中提取数据的 Android 应用程序

android - 如何通过 Android SDK 获得 root 权限?

android-location - 我可以完全在后台服务中运行 Android GeoFencing 吗?

android - 需要 android Activity 等到获得 GPS 位置

android - ERROR_WRONG_LABEL 尝试使用用于标签打印机的 Android Brother Sdk 进行无线打印

java - Android View 不能被其他线程触及?

android - 一旦您调用取消注册位置监听器,GPS 状态监听器将停止运行