У меня есть одно приложение для Android, которое выполняет некоторые задачи в фоновом режиме, когда пользователь не открыт с приложением.
Идея состоит в том, что пользователь открывает приложение и настраивает некоторые задачи, которые нужно выполнить в фоновом режиме, а затем используетдругие приложения и задачи выполняются.
, чтобы выполнять задачи в фоновом режиме, я создал Service
, поэтому Android поддерживает его активным, даже когда приложение больше не отображается на экране ...
В моем приложении есть фасад, который отвечает за запросы API к моему серверу (этот фасад - одиночный).Для создания экземпляра синглтона мне нужно взаимодействие с пользователем, чтобы он мог предоставить информацию для аутентификации и иногда подтвердить вход в систему с помощью 2factor auth.
проблема в том, что иногда, когда приложение не на переднем плане, android уничтожает весь экземплярприложения (включая singleton) фоновая служба продолжает работать, потому что это служба, но когда пользователь перезапускает приложение и любая активность пытается получить доступ к singleton, он получает nullpointerexcetion
мой синглтон является способомСложно сделать, чтобы понять, какой шаблон или стратегия дизайна я должен следовать, чтобы избежать этой проблемы.