2017-01-14 4 views
2

Я разработал приложение, где, когда эмулятор A отправляет sms в эмулятор B (при открытии приложения), B отправляет координаты местоположения обратно в A по SMS. Проблема в том, что когда я запускаю эмулятор запускается onlocationchanged, и поэтому координаты возвращаются успешно. Если я перезапущу приложение на одном и том же эмуляторе, это не будет вызвано, поэтому значения широты и долготы остаются нулевыми. Как я могу убедиться, что onlocationchanged получает вызов каждый раз, когда приложение запускается, пожалуйста? СпасибоGPS-долгота и широта через SMS-прослушиватель

+0

Если местоположение не меняется, то зачем это запускать этот метод? Вы можете сохранить местоположение в SharedPreferences –

ответ

0

Вот как я установил свой LocationRequest, пока не получу GPS-блокировку (сигнал GPS приемлемой точности). Я получаю координаты каждую секунду, независимо от того, движется пользователь или нет. Как только я получу блокировку, я замедляю запрос каждые 10 секунд и изменяю минимальное смещение на 10 метров. Обратите внимание, что с наименьшим набором замеров в 0 позволяет метод onLocationChanged запускаться без какого-либо движения.

mLocationRequest = new LocationRequest(); 
    mLocationRequest.setInterval(1000);    //1 second 
    mLocationRequest.setFastestInterval(1000);  //1 second 
    mLocationRequest.setSmallestDisplacement(0); //always accept gps 
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
Смежные вопросы