2016-06-18 6 views
2

Я хочу, чтобы пользователь местоположения, но метод всегда возвращает нуль, это мой код:Получить последние известное местоположение всегда возвращает NULL SDK 23

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)); 
      } 

я перепробовал много способов, но ничего не произошло, даже когда я открыл Google карты на эмуляторе и нажал на кнопку GPS он не смог получить мое текущее местоположение заранее спасибо

+0

ответ на шаг за шагом: http://stackoverflow.com/a/38397092/5955362 –

ответ

0

проверки разрешения в файле манифеста android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION

попробуйте проехать сервисное местоположение вручную

Местоположение UserLocation = locationManager.getLastKnownLocation ("gps");

если ваш Andorid 6.0 вы должны проверить разрешение перед использованием местоположения обусловленно они могут быть отозваны

Смежные вопросы