Вопрос

У меня есть проблема в получении местоположения пользователя (мое местоположение). Мой код

double lat;
double lng;
LocationManager locationManager;
String context = Context.LOCATION_SERVICE; 
locationManager = (LocationManager)getSystemService(context);
String provider = LocationManager.GPS_PROVIDER;
Location location = locationManager.getLastKnownLocation(provider);
if(!locationManager.isProviderEnabled(provider)){
 locationManager.setTestProviderEnabled(provider, true);
}
boolean enabled = locationManager.isProviderEnabled(provider);
if(enabled){
        Toast.makeText(LoginActivity.this,"provider enabled",Toast.LENGTH_LONG).show();
}
else{
    Toast.makeText(LoginActivity.this,"provider disabled",Toast.LENGTH_LONG).show();
}
if(location!=null){
  lat = location.getLatitude();
  lng = location.getLongitude();
  AlertDialog.Builder ab=new AlertDialog.Builder(LoginActivity.this);
  ab.setMessage(Html.fromHtml("<b><font color=#ff0000>Location" +"</font></b><br>"
            +location.toString()+"<br>Latitude: "+lat
                +"<br>Longitude "+lng));
  ab.setPositiveButton("ok",null );
  Toast.makeText(LoginActivity.this,"You are at     "+location.toString(),Toast.LENGTH_LONG).show();
}
else{
    Toast.makeText(LoginActivity.this,"Location not found",Toast.LENGTH_LONG).show();
} 

Моя проблема в том, что я получаю местоположение как null в то время как поставщик сообщений приложения включен. Я не нашел никакой проблемы в этом коде. Я также проверил его на устройстве, показывает, что поставщик включен, а местоположение не найдено.

Я не внедрил слушателя местоположения в классе. Необходимо ли реализовать слушателя местоположения в моем классе?

Это было полезно?

Решение

Вы получаете только последнее известное место с телефона. Если это NULL, что, если не доступно последнее местоположение, вы не пытаетесь получить местоположения каким -либо другим способом.

Вы должны реализовать LocationListener ASTREAD IT для получения обновлений местоположения в соответствии с этим руководством: http://developer.android.com/guide/topics/location/obtaining-user-location.html Это приведет к тому, что телефон попытается получить местоположение пользователей и передать его своему приложению в виде объекта местоположения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top