从BroadcastReceiver取消通知不起作用

时间:2018-09-29 12:42:51

标签: android kotlin android-notifications

用户点击通知中的操作按钮后,我使用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中,我要取消此通知(我有来自意图的通知ID):

getNotificationManager().cancel(notificationId)

问题在于通知无法关闭,直到通知抽屉中。

我看到了this question的答案,但这无济于事-我正在使用applicationContext,notificationId是正确的并且大于0。

0 个答案:

没有答案