Пишу почтовый клиент на Python, который для заданных контактов показывает переписку в виде чата. Собирается под Android с помощью Buildozer. В активном режиме приложение работает, но хочу ещё запускать фоновую проверку почты отдельным сервисом.
В buildozer.spec сервис объявлен так:
services = chatmail_service:service/background_check.py
Код запуска:
def start_background_service(self):
if platform != "android":
logger.info(f"Background service is not started: platform={platform}")
return
if self.background_service is not None:
logger.info("Background service is already started")
return
try:
logger.info(f"Starting Android background service: platform={platform}")
from android import AndroidService # type: ignore
self.background_service = AndroidService("ChatMail", "Проверка почты выполняется в фоне")
logger.info(f"AndroidService object created: {self.background_service}")
self.background_service.start()
logger.info("Android background service start requested")
except Exception as error:
self.background_service = None
logger.exception(f"Cannot start Android background service: {error}")
В логах вижу, что код запуска выполняется без ошибок, а код из service/background_check.py не вызывается.
Как правильно запустить сервис, чтобы при свернутом приложении появлялись уведомления о новом сообщении?