Предположим, что я использую API с плавным местоположением Android, чтобы запросить точную отчетность о местоположении. Например,Как интервал API fusedLocation относится к отключению GPS-радио
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(FASTEST_UPDATE_INTERVAL*2);
mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
LocationServices.FusedLocationApi
.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this)
Это приводит к моему месту расположения слушателя вызывался до каждого FASTEST_UPDATE_INTERVAL. Если я установлю FASTEST_UPDATE_INTERVAL на короткое, я знаю, что GPS-радио не будет отключено между обновлениями местоположения. Я знаю это из разных источников, таких как Fused Location Provider unexpected behavior и https://www.quora.com/Why-does-GPS-use-so-much-more-battery-than-any-other-antenna-or-sensor-in-a-smartphone.
Вопрос: что представляет собой наименьшее значение FASTEST_UPDATE_INTERVAL, которое приведет к отключению GPS-радиостанции между обновлениями местоположения?
Я ожидаю, что на этот вопрос не будет ясного ответа, и это будет зависеть от аппаратного обеспечения телефона, версии Google Play и, возможно, от других аппаратных и программных факторов. Тем не менее, общий ответ был бы полезен.
Этот вопрос важен, потому что меня интересует использование высокоточного определения местоположения, но минимальное использование батареи. В какой-то момент я рад увеличить FASTEST_UPDATE_INTERVAL, если он сэкономит электроэнергию.
Было бы неплохо, если бы службы плавного доступа Google использовали детекторы движения устройства (если они существуют), чтобы работать, когда они были стационарными, и если бы так просто отключили радиостанцию GPS до тех пор, пока устройство не переместилось.
Возможно, вы правильно относитесь к детекторам движения, которые не существуют в текущем уроке устройств. Но они будут существовать очень скоро, если они еще не используются. Есть много сопроцессоров слияния датчиков, которые обнаруживают движение, и я знаю, что одна силиконовая компания интегрирует их в свои ASIC. Одним из примеров является http://www.pnicorp.com/products/sentral-sensor-fusion/, который соединяет гироскопы, акселерометры и магнитные датчики. Тем не менее, ваша точка стоит для текущих устройств, поэтому мы не можем ожидать, что Android еще будет использоваться для обнаружения движения в рамках своего программного обеспечения с плавным местоположением. – pbm
Возможно, если OEM-производители считают, что для них достаточно использования, чтобы дать им конкурентное преимущество. Но даже если каждый OEM решит разместить их во всех своих флагманских устройствах в конце 2016 года, он не ударит по большинству устройств в течение полутора десятилетий, основываясь на средней скорости оборота. Пока их не существует. Мне также очень любопытно, как вы думаете, что они будут делать постоянное движение, потому что гироскопы, акселерометры и магнитосенсоры не могут. –
Полностью сконфигурированное местоположение, которое использует GPS, гироскопы, акселерометры и магнитосенсоры, может легко обнаружить постоянное движение. Все это в программном алгоритме. Предположим, что все датчики включены, и вы получаете три точных показания GPS на расстоянии 10 секунд, что говорит о наличии постоянного движения. Теперь вы можете предположить, что это движение остается постоянным, пока другие датчики не скажут вам об ином. Вы можете отключить GPS-радио, пока другие датчики не покажут изменение движения. – pbm