Оказывается, это не проблема с царством, это было как я запустил трансляцию, я сделал это так:
fun notificationAction(context: Context, id: String, actionType: Int): PendingIntent {
return PendingIntent.getBroadcast(
context, actionType,
Intent(context, NotificationBroadcastReceiver::class.java).apply {
putExtra(NotificationBroadcastReceiver.NOTION_ID_EXTRA, id)
putExtra(NotificationBroadcastReceiver.ACTION_TYPE, actionType)
}, 0)
}
Я обнаружил, что переданный идентификатор был неверным, после некоторых поисков я обнаружил, что должен включить этот флаг в трансляцию: PendingIntent.FLAG_UPDATE_CURRENT
, вот так:
fun notificationAction(context: Context, id: String, actionType: Int): PendingIntent {
return PendingIntent.getBroadcast(
context, actionType,
Intent(context, NotificationBroadcastReceiver::class.java).apply {
putExtra(NotificationBroadcastReceiver.NOTION_ID_EXTRA, id)
putExtra(NotificationBroadcastReceiver.ACTION_TYPE, actionType)
}, PendingIntent.FLAG_UPDATE_CURRENT)
}
Теперь переданный идентификатор правильный, я до сих пор не понимаю, почему это произошло, или почему дополнительный идентификатор был совершенно другим (но не случайным, я каждый раз видел один и тот же неправильный идентификатор) без этого флага.