Добавление кнопки в уведомление на Android позволяет пользователю осуществлять дополнительные действия, не открывая приложение. Чтобы добавить кнопку в уведомление, вам понадобится использовать класс NotificationCompat.Builder из Android Support Library.
Вот пример кода, показывающий, как добавить кнопку в уведомление:
// Создание интента для запуска дополнительного действия при нажатии на кнопку уведомления Intent intent = new Intent(this, MyActivity.class); intent.putExtra("action", "ButtonClicked"); // Создание PendingIntent для запуска интента PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); // Создание кнопки в уведомлении NotificationCompat.Action action = new NotificationCompat.Action.Builder(R.drawable.ic_button, "Название кнопки", pendingIntent).build(); // Создание уведомления Notification notification = new NotificationCompat.Builder(this, "ChannelId") .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Заголовок уведомления") .setContentText("Текст уведомления") .addAction(action) // Добавление кнопки в уведомление .build(); // Отправка уведомления NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(0, notification);
В этом примере мы создаем интент, который будет запускать MyActivity и передавать параметр "ButtonClicked". Затем мы используем PendingIntent, чтобы создать действие, которое будет запускать этот интент при нажатии на кнопку уведомления.
С помощью NotificationCompat.Action мы создаем кнопку в уведомлении, используя иконку, текст и PendingIntent. Затем мы создаем уведомление с помощью Builder и добавляем кнопку с помощью метода addAction(). Наконец, мы отправляем уведомление с помощью NotificationManager.
Обратите внимание, что вы должны иметь соответствующую иконку в ресурсах вашего проекта. Замените "ic_button" на свой идентификатор ресурса.
Кроме того, у вас должен быть создан канал уведомлений (Notification Channel) для Android 8.0 (API уровень 26 и выше). В приведенном выше коде мы передаем "ChannelId" в методе Builder. Убедитесь, что у вас есть соответствующий канал уведомлений, чтобы уведомление отображалось правильно на устройствах с Android 8.0 и выше.
Это основной подход к добавлению кнопки в уведомление на Android. С помощью PendingIntent вы можете выполнить любые дополнительные действия при нажатии на кнопку уведомления.