Определите близость телефона на базе Android к известной точке при сохранении питания

Я пытаюсь определить, была ли у пользователя Android непосредственная близость от списка предопределенных местоположений. Я хотел бы сделать это с наименьшим количеством суммы дренажа на батарее телефона. Эти два механизма я вижу выполнение этого, являются предупреждениями близости и запросом обновлений информации о местоположении. Каковы за и против этих двух методов? У каждого будет меньше влияния на батарее, чем другой? В любом случае я предположил бы, что у определенного используемого менеджера местоположения будет некоторое энергопотребление влияния (существующий ответ Переполнения стека).

11
задан Community 23 May 2017 в 10:29
поделиться

1 ответ

Обновление местоположения, вероятно, дешевле, чем оповещения о сближении с точки зрения использования батареи.

Поскольку addProximityAlert использует как NETWORK_PROVIDER , так и GPS_PROVIDER , вы теряете возможность выбирать, какого провайдера вы хотите использовать. Кроме того, хотя в документации предлагается ограничить проверку приближения до одного раза в четыре минуты, когда экран выключен, я не могу найти код для поддержки такой функции, и то, что я могу найти, по сути, это вызов к requestLocationUpdates с минимальной подсказкой временного интервала 1000 мс. Поскольку рекомендуется, чтобы фоновые службы использовали значения более 60000 мс, я подозреваю, что было бы дешевле вызвать requestLocationUpdates напрямую с большим минимальным интервалом времени и NETWORK_PROVIDER .

7
ответ дан 3 December 2019 в 11:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: