在我的应用程序中,我正在应用push通知,并使用notificationCompat类来使它们生效。
我为每个通知分配一个唯一的ID,因此,每个通知条中都是可见的。
当用户使用挂起的意图单击通知时,我将用户指向某个特定的活动,在那里他可以看到所有以前的通知。(我从mysql db上读到它们)。
问题1:如果用户只单击其中一个通知,我希望状态栏中的所有通知都被清除。可以是任意随机的(考虑到它是从我的应用程序)。setAutoCancel()方法只删除按下的方法,而且我似乎不知道在哪里实现cancelAll()方法。
答案:
@Override
protected void onResume()
{
super.onResume();
NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}
问题2:由于每个通知都有唯一的ID,因此从单个应用程序发送多个通知,如果用户不进行检查,则可能会导致几个图标出现在通知栏中。Android开始收集它们,一旦它们占用太多空间,就会在上面显示徽章号,而系统意识到它们没有足够的空间。有什么方法从一开始就把它们结合起来吗?也就是说,每当我发送一个通知,并且它没有被选中时,应该添加第二个通知,并在条形图上显示一个图标,其数字为2或+,无论系统使用什么。
https://stackoverflow.com/questions/16686018
复制