Я хочу скрыть уведомление от появления, когда служба работает в фоновом режиме.Мне известно, что согласно правилам Google Play мы должны показывать уведомления, но для моего текущего приложения я не хочу показывать никаких уведомлений.
Вот код, который отлично работает и показывает уведомление.Но как сделать так, чтобы оно не показывало никаких уведомлений:
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
String NOTIFICATION_CHANNEL_ID = "com.app..";
String channelName = "App Background Service";
NotificationChannel channel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_NONE);
channel.setLightColor(Color.BLUE);
channel.setLockscreenVisibility(Notification.VISIBILITY_SECRET);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
assert manager != null;
manager.createNotificationChannel(channel);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
Notification notification = notificationBuilder.setOngoing(true)
.setSmallIcon(R.drawable.icon)
.setContentTitle("App is running in background")
.setPriority(NotificationManager.IMPORTANCE_MIN)
.setCategory(Notification.CATEGORY_SERVICE)
.build();
startForeground(0, notification);
} else
{
startForeground(0, new Notification());
}
}
catch(Exception e)
{
e.printStackTrace();
}
Если я не вставлю вышеуказанный код, это выдаст ошибку, сообщающую, что startForeground не найден.И убивается через 5 секунд автоматически.
Причина: Context.startForegroundService () тогда не вызывал Service.startForeground ()
Я хочу, чтобы служба не показывала никаких уведомлений пользователю и завершила свою задачу без уведомлениябыть убитымЭто возможно даже в версии сборки> 26?