Я строю приложение для обмена сообщениями, которое уведомляет пользователя, когда новое сообщение приходит.Обновление андроида уведомления последовательно
Потому что это может произойти несколько раз в день (или несколько раз в час), я не хочу постоянно бросать новые уведомления. Вместо этого, если пользователь не отклонил уведомление, я хотел бы обновить его количеством ожидающих новых сообщений (в соответствии с директивой «Stacking»).
В документации Android, есть пример обновления уведомления с номером:
mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Sets an ID for the notification, so it can be updated
int notifyID = 1;
mNotifyBuilder = new NotificationCompat.Builder(this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
numMessages = 0;
// Start of a loop that processes data and then notifies the user
...
mNotifyBuilder.setContentText(currentText)
.setNumber(++numMessages);
// Because the ID remains unchanged, the existing notification is
// updated.
mNotificationManager.notify(
notifyID,
mNotifyBuilder.build());
...
ОДНАКО, это, кажется, предположить, что вы поддерживаете этот номер внутри приложения и вне менеджера уведомлений/строитель. По ряду причин это очень неудобно (и хрупко) в контексте моей заявки.
Я хотел бы знать - есть ли способ прочитать текущий номер, присвоенный сообщению (эквивалент mNotifyBuilder.getNumber())?
ВОПРОС СЛЕДУЮЩЕЙ ВОПРОСЫ: Если считывание текущего номера невозможно, существует ли способ узнать о запущенной службе, если уведомление было отменено или вручную уволено пользователем?
Вы еще что-нибудь пробовали? Это может помочь, если вы покажете свой собственный код! –
Трудно показать отрицательный результат .... Я смог успешно получить уведомление и обновить уведомление. Я могу даже добавить номер! Однако, поскольку я не знаю, когда уведомление было отклонено, и потому, что я не знаю, что такое текущий номер, я не знаю, как увеличить число :(:( – HappyKatz