Отмена уведомления от BroadcastReceiver не работает - PullRequest
0 голосов
/ 29 сентября 2018

Я использую BroadcastReceiver для обработки некоторых данных после того, как пользователь нажимает на кнопку действия из уведомления.

Итак, чтобы добиться этого, сначала я строю PendingIntent:

val intent = Intent(context, CustomBroadcastReceiver::class.java).apply {
    action = MY_ACTION
    // Also put some extras here like notification id.
}

val pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0)

И этовызывается из Service, который создает и показывает уведомление:

NotificationCompat.Builder(this, CHANNEL_ID)
        .setContentTitle(getString(R.string.title))
        .setContentText(getString(R.string.text))
        .setSmallIcon(R.drawable.ic_notification)
        .addAction(actionIcon, actionTitle, pendingIntent)
        .setAutoCancel(true)
        .build()

Затем в CustomBroadcastReceiver я отменяю это уведомление (у меня есть идентификатор уведомления от намерения):

getNotificationManager().cancel(notificationId)

Проблемаэто то, что уведомление не отклоняется, оно пока на ящике уведомлений.

Я видел ответы от на этот вопрос , но это не помогает - я использую applicationContext ,tificationId правильныйи больше 0.

...