Я пробую большую программу с фоновым сервисом и реализую (довольно плохо продуманную) процедуру обработки сообщений с использованием базовых объектов-обработчиков.Приложение имеет главное меню с кнопками, которые запускают 6 различных действий.
Проблема заключается в следующем: если я запускаю рабочий поток, который запускает запрос к базе данных и извлекает некоторые данные, и закрываю действие, которое запустило вышеупомянутый рабочий поток, обработчик в действии все еще пытается запуститьи показать диалоговое окно, даже если созданное им действие теперь завершено (или не в фокусе).Как я могу определить, находится ли текущая активность в фокусе, прежде чем вносить какие-либо изменения (UI)?
Я решил проблему, просто поместив вызов showDialog () в оператор try, но я быкак более сложное решение, так как это просто кажется неправильным способом сделать что-либо.