Я бы предположил, что приоритетным сервисом является ответ, как в ссылке, просто дополнительной с каналом уведомления
, поэтому сначала проверьте, как запустить сервис с:
Intent intent = new Intent(this@MainActivity, YourService::class.java);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
startForegroundService(intent);
else
startService(intent);
А затем из службы создайте канал уведомлений перед настройкой уведомления:
private NotificationManager createNotificationChannel() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel serviceChannel = NotificationChannel(
CHANNEL_ID, "NAME", NotificationManager.IMPORTANCE_DEFAULT
);
NotificationManager manager = getSystemService(NotificationManager::class.java);
manager.createNotificationChannel(serviceChannel);
return manager;
}
return null;
}
наконец, после этого вызова:
Notification notification = mBuilder.build();
startForeground(1, notification);
Теперь, если уведомление будет живым, пока ваше приложение
если это не работает, напишите в зарегистрированный сервис в манифесте этого
<service
android:name=".YourService"
android:stopWithTask="true" />