locationmanager.requestForLocation не работает в Motorola Backflip и Samsung Galaxy - PullRequest
0 голосов
/ 27 июня 2011

Я новичок в Android, я пытаюсь получить данные GPS в моем приложении.Я использую следующий код LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

if (!lm.isProviderEnabled(LocationManager.GPS_PROVIDER)){
  lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 500.0f, this);
}

И мой класс я переопределил следующий метод

public void onLocationChanged(Location location)
{
  String currentLocation = "The location is changed to Lat: " + location.getLatitude()+ " Lng: " + location.getLongitude();
  Toast.makeText(context, currentLocation, Toast.LENGTH_LONG);
}

Но он не показывает ничего, и это происходит только с Motorola устройства Backflip & Samsung Galaxy .Пожалуйста, дайте мне знать, если я делаю что-то не так.Заранее спасибо.

Thansk, Devanand

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Вы забыли использовать Toast.makeText (...) .show ();

0 голосов
/ 27 июня 2011

Вы уверены, что этот код показывает что-то для других телефонов?Как ответил Нирадж, вам нужно добавить .show () к тосту.

Если это не проблема, и вы ее здесь просто пропустили, то вы, возможно, столкнулись с проблемой, с которой я тоже столкнулся.Код, похожий на ваш, отлично работал на Motorola Atrix , но не на Motorola Droid .

Вот мой обходной путь.Если GPS недоступен, я обращаюсь к провайдеру сети .Вот так:

//Start with fine location using GPS
String locationProviderInit = LocationManager.GPS_PROVIDER;
if ((locationProviderInit == null) ||   
      !(mLocationManager.isProviderEnabled(locationProviderInit)))
{
//If GPS not available, fall back on coarse location
    locationProviderInit = LocationManager.NETWORK_PROVIDER;
}

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...