Установка идентификатора NotificationCompat.Builder Java-андроид - PullRequest
0 голосов
/ 16 мая 2019

В настоящее время я создаю предупреждение со следующим кодом:

public NotificationCompat.Builder getChannelNotification(AbstractEvent event) {
    Intent activityIntent = new Intent(context, MainActivity.class);
    Intent broadcastIntent = new Intent(context, NotificationReceiver.class);
    broadcastIntent.putExtra("id",event.getId());

    PendingIntent actionIntent = PendingIntent.getBroadcast(context, 0, broadcastIntent, PendingIntent.FLAG_UPDATE_CURRENT);

    return new NotificationCompat.Builder(getApplicationContext(), channelID)
            .setContentTitle(event.getTitle())
            .setContentText("event begins in: " + event.getStartTime)
            .setSmallIcon(R.drawable.android)
            .setShortcutId("1")
            .addAction(R.mipmap.ic_launcher, "Dismiss", actionIntent)
}

Это создало штрафное предупреждение, но я пытаюсь затем отключить предупреждение, когда нажимаю кнопку "Отключить".

Я пытаюсь сделать это в другом классе, используя:

NotificationManager manager = context.getSystemService(NotificationManager.class);
manager.cancel(id);

Это было бы хорошо, однако я не могу установить идентификатор тревоги, которую я только что сделал.

Как я могу установить / получить доступ к идентификатору тревоги, которую я только что сделал?

1 Ответ

0 голосов
/ 16 мая 2019

Вы должны создать идентификатор вручную и установить его с уведомлением и сохранить его в sharedPreferences

NOTIFICATION_ID = notificationPreferences.getInt("notifnumber",0);

, как только вы уведомите, вы увеличиваете значение и сохраняете его

manager.notify(NOTIFICATION_ID, notification);
editor.putInt("notifnumber", NOTIFICATION_ID + 1);
editor.commit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...