AltBeacon Начиная в фоновом режиме (когда не убит) - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь перенести свой совершенно правильный сценарий iOS на Android через AltBeacon:

Мобильное приложение отслеживает маяки.Когда мобильный находится в зоне действия маяка, запускается didDetermineState, в iOS это делается автоматически при входе / выходе из зон, поэтому я предполагаю (надеюсь), что AltBeacon следует этому.didDetermineState проверяет, вошли ли мы только внутри региона, и если да, запускает ранжирование, если нет - останавливает ранжированиеРанжирование решает, что делать дальше, исходя из расстояния.Он работает как на переднем плане (затем отображает правильную информацию), так и в фоновом режиме (затем отображает уведомления).

Для меня это очевидный и почти идеальный сценарий.Однако в большинстве примеров Мониторинг / Ранжирование рассматривается как нечто конкурирующее (или, по крайней мере, совершенно отдельное), а не сотрудничающее.

Я не хотел делать уведомления, когда приложение закрыто (если возможно), только когда вНа переднем плане или в фоновом режиме (когда вы переходите на «рабочий стол» или любое другое приложение, не убивая наше приложение).

Я пытался следовать этому сценарию на Android, и все выглядит не так, как я надеялся:

  1. При запуске didDetermineState запускается автоматически при запуске и обычно возвращает ВНЕ.
  2. В документации AltBeacon четко указано, что BeaconConsumer должен расширять Activity или Service - означает ли это, что я могу 'Диапазон в классе приложения?
  3. Можно ли даже контролировать и диапазон, когда приложение находится в фоновом режиме, но не уничтожено?

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 26 мая 2018

Да, вы можете комбинировать ранжирование и мониторинг в классе приложения.Да, вы можете начать ранжирование в didDetermineState ().Просто используйте Запуск приложения в фоновом режиме на этой странице:

https://altbeacon.github.io/android-beacon-library/samples.html

И начните ранжирование в обратном вызове didDetermineState().

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