Я хотел знать, есть ли вероятность, что мы могли бы обрабатывать/обнаруживать runnable callbacks с задержкой (postDelayed
method) на android?
Например, у меня есть одно или несколько заставки (которые работают с handler.postDelayed(new Runnable()...
) в моем приложении (приложение для целей тестирования). В этом приложении у меня также есть библиотека (которую я создаю и использую в приложении), а также некоторые доступные там классы, которые работают в классе IntentService
.
Иногда, когда приложение запускает те splashscreen
Activities (для Testing purpose
), библиотека, которую я создаю, может автоматически отображать некоторые действия в пользовательском интерфейсе.
Но похоже, что если эти действия выполняются в действии splashscreen
и что splashscreen
уничтожается, эти действия (которые автоматически появляются) также будут уничтожены и регистрируются сообщение "просочившееся окно" в logcat.
Проблема в том, что:
- те действия, которые автоматически появляются в пользовательском интерфейсе, не должны автоматически закрывается, это запрещено. Это требует взаимодействия от пользователя для закрытия этого действия и возврата к нормальному поведению приложения.
- Кроме того, библиотека ничего не знает о пользовательском интерфейсе приложения.
Итак, мои вопросы (относительно библиотеки, которую я создаю, не имея информации о потоке приложения UI):
- Есть ли способ определить, был ли создан какой-то метод postDelayed в приложении относительно библиотеки? Если да, как я могу справиться с этой проблемой?
P.S.: Обратите внимание, что обычно я использую диалоговое окно для действия Activity, которое появляется автоматически.
UPDATE
Объяснение диаграммы:
Сейчас у меня есть случай, когда выполняется Splashscreen.
Класс, который расширяет класс IntentService, получил запрос из Интернета, который запустит Activity.
Между тем, заставка находится на postDelayed
, другая Деятельность была создана и отображается в пользовательском интерфейсе. Когда X секунд прошло, а другая Деятельность не была уничтожена, создается Следующая активность и автоматически уничтожается другая Деятельность. При этом Android выдает сообщение "просочившееся окно" относительно Активность.