Android GPS - Любопытное поведение при холодном старте - PullRequest
0 голосов
/ 05 октября 2011

Поведение выглядит следующим образом:

Запустите мое приложение «холодным», например, устройство выключилось весь день, а затем включилось в произвольном месте.

GPS будет делать две вещи: Он будет работать как положено, и я буду получать обновления местоположения, ИЛИ он просто будет "сидеть" там.

Это может быть все хорошо, так как аппаратному обеспечению GPS может потребоваться некоторое время, чтобы получить исправление, но здесьвот что меня беспокоит:

Если я открою приложение особенно хорошо сделанного конкурента, которое использует GPS, они сразу же получат исправления.Если я затем вернусь к своему приложению, то внезапно мое приложение будет получать обновления и работать должным образом.

Возможно, им нужно это знать, а мне - выяснить, но если кто-то знает, онихотел бы поделиться ...

Вот мой код GPS:

private void initGPS() {
    String ls = Context.LOCATION_SERVICE;
    mLocationManager = (LocationManager) getSystemService(ls);
    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE);
    criteria.setAltitudeRequired(false);
    criteria.setBearingRequired(false);
    criteria.setCostAllowed(true);
    mProvider = mLocationManager.getBestProvider(criteria, true);
    if (mProvider == null) {
        mHandler.postDelayed(checkGPS, 1000);
        return;
    } else {
        mHandler.removeCallbacks(checkGPS);
    }
    getGpsUpdates();
}

private void getGpsUpdates() {
    mLocationManager.requestLocationUpdates(mProvider,
            mTimeBetweenGPSUpdates, mDistanceBetweenGPSUpdates,
            locationListener);
    mLocationManager.addGpsStatusListener(gpsStatus);
}

Очень просто.Судя по заявлениям журнала, кажется, что все работает.getGpsUpdates () запускается один раз, как и должно, но после этого я не получаю обновлений местоположения.

Спасибо, датчанин

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