В моем приложении я применяю push-уведомления и делаю их с использованием класса notificationCompat.панель уведомлений + разъяснения с уведомлением
Поэтому я назначаю каждому уведомлению уникальный идентификатор, каждый из которых отображается отдельно в панели уведомлений.
Когда пользователь нажимает на уведомление, используя ожидающее намерения, я направляю пользователя к определенному действию, где он может видеть все предыдущие уведомления. (Я прочитал их из mysql db).
вопрос 1: Я хочу, чтобы все уведомления в строке состояния списываться, если пользователь нажмет только на одном из них. Может быть любой случайный (учитывая, что он из моего приложения). метод setAutoCancel() удаляет только тот, который был нажат, и я не знаю, где бы я мог реализовать метод cancelAll().
Ответ:
@Override
protected void onResume()
{
super.onResume();
NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}
вопрос 2: Поскольку каждое уведомление имеет уникальный идентификатор, отправка несколько уведомлений от отдельного приложения, а в случае не проверяя от пользователя, может привести к появлению нескольких значков на панели уведомлений. Android, начинает собирать их и показывать на них номера значков, как только они начинают занимать слишком много места, и система понимает, что для них недостаточно места. Есть ли способ объединить их все с самого начала? То есть, всякий раз, когда я отправляю уведомление, и он не проверяется, нужно добавить второй, а на панели с одним номером 2 или + должен отображаться один значок, независимо от используемой системы.
вопрос 1: onResume в действии, которое вы показываете, или о любых действиях в вашем приложении. вопрос 2: Я не знаю какого-либо существующего простого метода для этого, я сделал это путем ручного отслеживания через свою собственную базу данных. –
@ChorWaiChun Спасибо. Я обновил свой вопрос с ответом, пожалуйста, посмотрите. Что касается второго вопроса, вы проверяете каждого пользователя, проверяли ли оно уведомление или нет и подсчитывали? Я не совсем понял тебя. – tony9099
Мое приложение основано на среде общения, в которой каждое сообщение я обновляю состояние чтения и чтения в базе данных. Поэтому я буду заполнять базу значков на количество непрочитанных в моих таблицах. –