Библиотека AltBeacon как приоритетный сервис, проблемы с элементами Activity при активации - PullRequest
0 голосов
/ 10 декабря 2018

Я использую новейшую библиотеку AltBeacon и запускаю эталонное приложение с несколькими модами в классе MonitorActivity, а также использую функциональность переднего плана службы начальной загрузки.

Мое приложение может обнаруживать маяки на переднем плане или сслужба, но я борюсь (Android Новичок) с визуальными элементами Деятельности при переходе от службы к активной Деятельности.

Область начальной загрузки создается в классе Application, а затем создается MonitorActivity.Первый экземпляр Activity содержит некоторые данные и ссылки на внешнюю библиотеку, используемую для воздействия на данные маяка.Библиотека содержит контекст действия, которое ее создало.

Если окно MonitorActivity никогда не закрывается вмешательством пользователя, приложение работает нормально.От переднего плана к фону приложение ведет себя, как и ожидалось.

Если функция MonitorActivity отключена, служба все еще работает и, по-видимому, имеет ссылку на начальное действие, поскольку внешняя библиотека, созданная в этом экземпляре, продолжает функционировать.Способы отображения результатов из внешней библиотеки не работают, потому что элементы пользовательского интерфейса больше не существуют.

Я хотел бы установить уведомление, которое затем загружает Activity, чтобы показать результат данных маяка, но вмои тесты я получаю еще один новый класс Activity, который создает новый экземпляр внешней библиотеки ... не хорошо!

Я пробовал:

Intent intent = new Intent(this, MonitorActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP );
    PendingIntent pendingIntent = PendingIntent.getActivity(
            this, 0, intent, PendingIntent.FLAG_ONE_SHOT
    );

Думая, что он будет использовать исходную активность, ноон создает новый экземпляр.

Исходный класс Activity все еще должен существовать, поскольку он выполняет требуемую логику.

Есть ли способ повторно включить визуальные элементы для отображения результатов внешней библиотеки, созданной в исходном действии?

1 Ответ

0 голосов
/ 10 декабря 2018

Этот оператор является ключевым:

1-й экземпляр Activity содержит некоторые данные и ссылки на внешнюю библиотеку, используемую для обработки данных маяка.Библиотека содержит контекст действия, которое ее создало.

Вы не говорите, что это за библиотека, но на основании вашего описания она должна быть разработана для работы с визуальными данными вДеятельность.Действия разрушаются, поэтому, если они правильно спроектированы, эта библиотека должна быть спроектирована для обработки этой ситуации* "Как он рекомендует использовать его с несколькими действиями? **

Предполагается, что вы должны иметь ссылку на него в каждом действии? Это нормально, если вы создаете новый экземпляр в другом действии? Вы говорите этопроблема: «Я получаю еще один новый класс Activity, который создает новый экземпляр внешней библиотеки ... не хорошо!» Почему это «не хорошо»?

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

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