Getlastknownlocation всегда возвращает значение null после переустановки файла apk через eclipseAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Getlastknownlocation всегда возвращает значение null после переустановки файла apk через eclipse

Сообщение Anonymous »

Недавно я создал простое приложение для определения местоположения по GPS и отображения его на телефоне Android.
Поначалу мне удавалось определить местоположение после нескольких попыток. Но после переустановки APK-файла метод getLastKnownLocation() всегда возвращает нулевое значение.
Среда разработки:
  • API 10 Gingerbread 2.3.6
  • Используется GPS-провайдер
Ниже приведен код, который я применил к своему проекту Android:

Код: Выделить всё

public class MyActivity extends MapActivity {

protected void onCreate(Bundle savedInstanceState) {

mapView = (MapView) findViewById(R.id.myTripMap);
mapController = mapView.getController();
mapView.setSatellite(false);
mapView.setStreetView(true);
mapView.displayZoomControls(false);
mapView.setBuiltInZoomControls(true);//
mapView.setClickable(true);
mapController.setZoom(14);

Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
provider = locationManager.getBestProvider(criteria, true);
location = locationManager.getLastKnownLocation(provider);

updateMyCurrentLoc(location);

locationManager.requestLocationUpdates(provider, 2, 1, locationListener);
}

private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
updateMyCurrentLoc(location);
}

public void onProviderDisabled(String provider) {
updateMyCurrentLoc(null);
}

public void onProviderEnabled(String provider) {
}

public void onStatusChanged(String provider, int status,
Bundle extras) {
}
};

private void updateMyCurrentLoc(Location location) {

if (location != null) {

// other codes to get the address and display
Toast.makeText(getBaseContext(), "provider used : " + provider).show();  //testing purpose
} else {
str = "No location found";
Toast.makeText(getBaseContext(), str, Toast.LENGTH_SHORT).show();
}
}
}

Может ли кто-нибудь предложить возможное решение для устранения значения null, возвращаемого функцией getLastKnownLocation()?

Подробнее здесь: https://stackoverflow.com/questions/159 ... e-via-ecli
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»