У меня есть служба намерений, которая вызывается FusedLocationApi каждую минуту или около того для периодического мониторинга местоположений через pending .
@Override
protected void onHandleIntent(Intent intent) {
if (intent != null && LocationResult.hasResult(intent)) {
LocationResult locationResult = LocationResult.extractResult(intent);
location = locationResult.getLastLocation();
} else {
Crashlytics.logException(new LocationException("Loc Intent Service invoked without location", new NullPointerException()));
}
}
Большую часть времени он работает нормально, но в производственной среде за последние 7 дней я получил 13 000 событий службы, вызываемой FusedLocationApi без указания местоположения. (благодаря нефатальному исключению Crashlytics, которое я добавил)
Почему или когда это могло произойти? Я попытался отключить разрешение на определение местоположения во время мониторинга местоположений, и в этом случае служба вызывается без определения местоположения, но только один или два раза, после чего она никогда не вызывается снова, пока я снова не включу разрешение на определение местоположения.