无法获取纬度和经度 android

Unable to get Latitude and Longitude android

我正在尝试使用下面给出的代码获取 LatitudeLongitude,但每次我都得到 0.00 和 0.00 latlong 作为结果。

locationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 3000L, 1, listener);
Log.d("Network", "Network");
if (locationManager != null) {
    location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
    if (location != null) {
        Log.e("Google latitude 111", location.getLatitude() + "");
        Log.e("Google longitude 111", location.getLongitude() + "");
        if (ServiceManager.lat.equals("") || ServiceManager.lng.equals("")) {
            ServiceManager.lat = String.valueOf(location.getLatitude());
            ServiceManager.lng = String.valueOf(location.getLongitude());
            MainActivity.handler.sendEmptyMessage(Response.GOT_LOCATION);
        }
    }
}

我想获得实际的 latitudelongitude。我已获取并允许设备 (FINE_LOCATION, COARSE_LOCATION and INTERNET) 中的所有必需权限。我的目标 SDK 版本是 25。Android 位置管理器策略中是否有针对最新 SDK 的任何更新?

转到地图默认应用程序并允许用户允许纬度和经度 option.In 我们的应用程序 当 GPS 信号闪烁和停止时,我们将获得纬度和经度。这对我有用

同时检查

  1. 打开 Google 地图应用程序并单击地图上的按钮以获取当前位置。

  2. 当您允许 Google 地图权限时,只有其他应用程序权限才有效。

  3. 现在转到您的应用并尝试获取当前位置,它会起作用。

尝试这些步骤并检查您是否正在获取您的位置

编辑 1

您是否使用 location.hasLocationEnabled() 检查可用性。

这将帮助您检查定位服务是否可用。并打开 GPS。这将在一定程度上解决问题,而无需打开 Google Map

如果您使用的是 android 版本 23 或更高版本,即 marshmallow 或更高版本,您需要添加运行时权限,即访问精细位置和访问粗略位置,那么如果您使用的是其他版本,则只有您会得到结果小于 23 你会得到纬度和经度,不要忘记在清单中添加权限。

Link-