Я пытаюсь перенести свой совершенно правильный сценарий iOS на Android через AltBeacon:
Мобильное приложение отслеживает маяки.Когда мобильный находится в зоне действия маяка, запускается didDetermineState, в iOS это делается автоматически при входе / выходе из зон, поэтому я предполагаю (надеюсь), что AltBeacon следует этому.didDetermineState проверяет, вошли ли мы только внутри региона, и если да, запускает ранжирование, если нет - останавливает ранжированиеРанжирование решает, что делать дальше, исходя из расстояния.Он работает как на переднем плане (затем отображает правильную информацию), так и в фоновом режиме (затем отображает уведомления).
Для меня это очевидный и почти идеальный сценарий.Однако в большинстве примеров Мониторинг / Ранжирование рассматривается как нечто конкурирующее (или, по крайней мере, совершенно отдельное), а не сотрудничающее.
Я не хотел делать уведомления, когда приложение закрыто (если возможно), только когда вНа переднем плане или в фоновом режиме (когда вы переходите на «рабочий стол» или любое другое приложение, не убивая наше приложение).
Я пытался следовать этому сценарию на Android, и все выглядит не так, как я надеялся:
- При запуске didDetermineState запускается автоматически при запуске и обычно возвращает ВНЕ.
- В документации AltBeacon четко указано, что BeaconConsumer должен расширять Activity или Service - означает ли это, что я могу 'Диапазон в классе приложения?
- Можно ли даже контролировать и диапазон, когда приложение находится в фоновом режиме, но не уничтожено?
Пожалуйста, помогите.