Функция триггера при нажатии на действие уведомления

Я пишу приложение в Kotlin, которое должно отображать уведомление с кнопкой действия.

У меня есть класс. Давайте назовем это NotificationClass

Этот класс создает уведомления для меня через fun createNotification()

Это все отлично работает. Но я хочу добавить кнопку к уведомлению, которая при нажатии запускает функцию в моем NotificationClass называется notificationActionClicked(),

Есть ли способ, которым я могу сделать это?

(Класс уведомлений не является службой Android. Это просто служебный класс.)

1 ответ

Вам нужно посмотреть на ожидающие намерения

 public void createNotification(View view) {
    // Prepare intent which is triggered if the
    // notification is selected
    Intent intent = new Intent(this, NotificationReceive.class);
    PendingIntent pIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0);

    // Build notification
    Notification noti = new Notification.Builder(this)
            .setContentTitle("New mail from " + "test@gmail.com")
            .setContentText("Subject").setSmallIcon(R.drawable.icon)
            .setContentIntent(pIntent)
            .addAction(R.drawable.icon, "Call", pIntent)
            .addAction(R.drawable.icon, "More", pIntent)
            .addAction(R.drawable.icon, "And more", pIntent).build();
    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    // hide the notification after its selected
    noti.flags |= Notification.FLAG_AUTO_CANCEL;

    notificationManager.notify(0, noti);

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