Действия уведомлений Android с уведомлением

Я работаю над приложением, в котором мы должны создать уведомление с помощью кнопок действий. Он работал нормально до даты, когда мы решили обновить нашу обработку уведомлений для поддержки каналов уведомлений (выпущенных с Android Oreo 8.0). Я не знаю, является ли это причиной или в нашей реализации чего-то не хватает, что делало кнопки действий уведомлений неотвечающими.

Ниже упоминается фрагмент кода...

NotificationCompat.Builder localCallNotificationBuilder = new NotificationCompat.Builder(mContext, <channelId>);

Intent intent = new Intent();
intent.setAction(IAppConstant.ICallingAction.INTENT_ACTION_DO_CANCEL);
PendingIntent pendingIntentHangUp = PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
localCallNotificationBuilder.addAction(0, mRes.getString(R.string.label_cancel), intent);

localCallNotificationBuilder.setContentText(notificationContent)
            .setTicker(notificationContent)
            .setOnlyAlertOnce(true)
            .setSmallIcon(R.drawable.notification_bar_icon)
            .setLargeIcon(userImageBitmap)
            .setStyle(new NotificationCompat.BigTextStyle().bigText(notificationContent))
            .setOngoing(true);

notificationManager.notify(IAppConstant.IGenericKeyConstants.CALL_NOTIFICATION_ID, localCallNotificationBuilder.build());

У меня есть класс приемника, где я слушаю это "INTENT_ACTION_DO_CANCEL". Но этот приемник никогда не называется.

PS Я попробовал решение, упомянутое в ссылке. Ожидаемое намерение не работает на Android O, но безуспешно.

РЕДАКТИРОВАТЬ

Ниже упомянуто обновленное действие (с явным намерением согласно предложению, упомянутому в ссылке

Intent intentAction = new Intent(mContext, NotificationActionReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, intentAction, PendingIntent.FLAG_UPDATE_CURRENT);
localCallNotificationBuilder.addAction(0, mRes.getString(R.string.label_cancel), pendingIntent);

<!-- Notification Action Receiver(Manifest entry) -->
<receiver android:name=".reciever.NotificationActionReceiver" />

Я уверен, что чего-то не хватает, что я не могу понять.

0 ответов

Другие вопросы по тегам