Можно ли создать два объекта LocationManager? - PullRequest
0 голосов
/ 31 декабря 2011

Я хочу иметь два отдельных обратных вызова для вызовов метода requestLocationUpdates (), каждый из которых отслеживает различные интервалы (один из времени, один из расстояния). Это возможно? Или я могу использовать один экземпляр LocationManager и дважды вызывать на нем requestLocationUpdates (), объявив отдельный объект для реализации onLocationChanged () в качестве последнего аргумента / параметра?

1 Ответ

0 голосов
/ 17 мая 2012

Да, вы можете зарегистрироваться дважды. Вы даже можете использовать один и тот же объект слушателя каждый раз, если, например, вы хотите зарегистрировать более одного поставщика.

Вам нужно только «удалить обновления» один раз для каждого слушателя. Таким образом, если вы зарегистрировали один и тот же прослушиватель дважды, вам нужно вызывать removeUpdates только один раз.

Однако, возможно, что если вы регистрируетесь для разных интервалов, оба слушателя все равно получат все обновления. Интерфейс не дает никаких гарантий относительно частоты обновления, а передаваемые параметры являются лишь подсказками. Это может даже варьироваться от телефона к телефону - на некоторых телефонах каждый слушатель мог получать обновления на запрошенных частотах, а на другом телефоне оба слушателя могли получать все обновления.

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