лучше использовать Background Service или JobScheduler?
А какую задачу вы решаете?
Читаю сообщения :)
Это общая задача - с какой целью вы их читаете: вы конкретные сообщения слушаете или в целом все сохраняете?
Читаю все сообщения и хочу их пересылать в телеграм по telegram bot api
Погуглите в сторону broadcastreceiver
Благодарю добрый человек
а при чём тут broadcastreceiver? задача каждую минуту дёргать апи
каких таких сообщений? как проверять?
Ну я про обычные GSM сообщения
sms? броадкаст, который запускает воркер, который шлет на апи
Ага
проверять каждую минуту нет смысла, броадкаст дергается стабильно если приложение не убито
@PSA_79Srtr, ты что-то делал на эту тему вроде?
А если убито, разве бродкаст ресивер не запускается?
Если убито полностью, то не запустится
если убито юзером - нет, скорее всего не запустится (тестили на миюай и самсунгах) выживаемость это всегда игра вероятностей у меня такое в проде висит, ловим смс и уведомления, вот там неубиваемую связку получиломь сделать с NotificationCatcherService в форграунде
+ броадкасты на большинство системных ивентов и другие оптимизации специфичные для сервиса уведомлений если брать только смс, надо думать как обеспечить нужную выживаемость, либо просто не убивать приложение руками, и отключать оптимизацию на системах где она есть
Что значит "убито полностью"? Частично - это как?
Приложение закрытое через шторку не считается убитым, как и через иной любой способ за исключением остановкой приложения в настройках
А убитое при выключении и включении прибора? У меня android.intent.action.BOOT_COMPLETED. Мне кажется приложение не может оказаться запущенным (я вручную не запускаю, не кликаю на иконку) до того, как получит этот бродкаст. Однако ресивер отрабатывает onReceive() этого BOOT_COMPLETED.
Почитайте про doze mode
Не считается кроме китайских аппаратов, там особенности
Ну там если по дефолту включено убивать фоновые активности, то да, сталкивался уже с их «оптимизациями»
Мы ж про бродкасты. Вот читаю: If you declare a broadcast receiver in your manifest, the system launches your app (if the app is not already running) when the broadcast is sent. То есть, если приложение не запущено, оно будет запущено, по приходу бродкаста.
Когда процесс истекает кровью
Ты ничего в обсуждаемой теме не понимаешь, и забалтываешь ее.
Ого, мы же вроде на ты ещё не опускались с вами уважаемый
Обсуждают сегодня