Исправление GPS происходит не в первый раз. Нет статуса в панели уведомлений

Создано приложение на основе оповещения о местоположении. На эмуляторе все работает. Но в реальном устройстве возникает следующая ошибка.

Сценарий:

Включил GPS. Открыл мое приложение в телефоне. Нет символа GPS в строке состояния. Приложение принудительно закрывается.

Чтобы исправить этот сценарий, я делаю следующее

Откройте любое приложение, например Карты, GPS Essentials. Мои значения GPS фиксируются. Открытие моего приложения после этого. Приложение работает нормально.

Предоставление необходимых кодов ниже:

в моем методе Oncreate

fixlocation = orgManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);


@Override
protected void onResume() {
    super.onResume();
    orgManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1000, this);
    orgManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 1000, this);
    mo.enableCompass();
    mo.enableMyLocation();
}

/** Stop the updates when Activity is paused */
@Override
protected void onPause() {
    super.onPause();
    orgManager.removeUpdates(this);
    mo.disableCompass();
    mo.disableMyLocation();
}



@Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub

        //orgManager.removeUpdates(this);

        if (location != null) {
            currLatitude = location.getLatitude();
            currLongtitude = location.getLongitude();
}}

Что мне нужно сделать сейчас?


person Satheesh    schedule 30.05.2012    source источник


Ответы (1)


LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);

currLat = location.getLatitude();
currentLang = location.getLongitude();

Попробуйте это, чтобы получить текущее местоположение.

onLocationChanged будет вызываться только при изменении местоположения вашего устройства, но

первый раз, когда ваше приложение запускается, вы можете использовать этот код.

person MAC    schedule 30.05.2012
comment
Вместо указанного вами местоположения я использовал fixlocation, который также является объектом местоположения. - person Satheesh; 30.05.2012