【问题标题】:Get last known location always return NULL SDK 23获取最后一个已知位置总是返回 NULL SDK 23
【发布时间】:2016-06-18 00:34:33
【问题描述】:

我想获取用户位置,但该方法总是返回 null 这是我的代码:

locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    SystemProvider = locationManager.getBestProvider(new Criteria(),true);
     UserLocation = locationManager.getLastKnownLocation(SystemProvider);
           if(UserLocation==null)
           {
               Log.i("Exc2","No Location");
               mMap.addMarker(new MarkerOptions().position(new LatLng(0,0)).title("No Location"));
               mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(0,0),10));
           }
           else {
               double one = UserLocation.getLatitude();
               double two = UserLocation.getLongitude();
               mMap.addMarker(new MarkerOptions().position(new LatLng(one, two)).title("HMS"));
               mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(one, two), 10));
           }

我尝试了很多方法,但即使我在模拟器上打开谷歌地图并按下 gps 按钮,它也无法获取我当前的位置。 提前致谢

【问题讨论】:

标签: android google-location-services


【解决方案1】:

检查清单文件中的权限 android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION

尝试手动传递服务位置

Location UserLocation = locationManager.getLastKnownLocation("gps");

如果你的 andorid 是 6.0,你必须在使用位置之前检查权限,因为它们可以被撤销

【讨论】:

    【解决方案2】:

    尝试使用 Fused Location API 接收 Google 推荐的位置更新。 检查这个网址:https://developer.android.com/training/location/receive-location-updates.html 它会帮助你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多