Функция триггера при нажатии на действие уведомления
Я пишу приложение в 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);
}