了解 android 定位的 gps 和网络检测

Understanding android gps and network detection for location

我正在使用 http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/ 作为参考,并且有以下代码

GPSTracker gps = new GPSTracker(this);
if(gps.canGetLocation()) {
    // snip
} else {
    gps.showSettingsAlert();
}

我正在通过 USB 连接在我的 phone 上运行它。在该设备上,我没有 wifi 或移动数据连接。

但是 gps.canGetLocation returns 是的,所以我不确定是怎么回事。

我想要的结果是,如果用户没有 wifi 或移动(3g、4g 等)连接,则应调用 showSettingsAlert。

编辑:此代码来自文章:

isNetworkEnabled = locationManager
                .isProviderEnabled(LocationManager.NETWORK_PROVIDER);

我登录的时候是真的,但是如果我没有数据连接应该不是假的吧?

在您在 link canGetLocation() 中指定的 GPSTracker 中,只有当网络和 gps 都被禁用时才会 return false..

即 gps 以及 wifi 和移动数据必须关闭