Oreo бесконечный фоновый сервис, такой как Messenger или Instagram - PullRequest
0 голосов
/ 11 июня 2018

Как я могу создать infinite background service без уведомлений, таких как Messenger, Instagram или HID Mobile Access?

Например, HID Mobile Access имеет фоновую службу, которая работает бесконечно, не блокируется системой, не имеет уведомлений и не перезапускается, когда приложение удаляется из списка недавних приложений.

Есть ли хитрость, чтобы сделать это, или есть приложения, неофициально поддерживаемые Google?

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Это либо предустановленные «фреймворки», то есть это неограниченные приложения, уже предустановленные производителем устройства OEM.У них есть специальные разрешения.

ИЛИ, как объяснили другие, они просто используют FCM для получения сообщений в любое время.Хотя я согласен, что несправедливо взимать плату с разработчиков приложений, чтобы обойти ограничения платформы.Хотя это бесплатно до 100K сообщений / день (IIRC).

Тем не менее, обратите внимание, что Whatsapp использует службу переднего плана (с всегда присутствующим и видимым уведомлением), чтобы предоставить Whatsapp Web* 1007.* функциональность.

0 голосов
/ 11 июня 2018

Один из вариантов - вы можете использовать Диспетчер работ , чтобы планировать задачи и запускать их в фоновом режиме.

Работа по-прежнему гарантированно будет выполняться, даже если ваше приложение принудительное-quit или устройство перезагружено.

Ниже приведен один пример запуска Повторяющиеся задачи :

new PeriodicWorkRequest.Builder photoCheckBuilder =
        new PeriodicWorkRequest.Builder(PhotoCheckWorker.class, 12,
                                        TimeUnit.HOURS);
// ...if you want, you can apply constraints to the builder here...

// Create the actual work object:
PeriodicWorkRequest photoCheckWork = photoCheckBuilder.build();
// Then enqueue the recurring task:
WorkManager.getInstance().enqueue(photoCheckWork);
...