在我的应用程序中,我正在应用推送通知并使用notificationCompat类进行通知。通知栏+推送通知说明
因此,我为每个通知分配一个唯一的ID,因此每个通知在通知栏中单独显示。
当用户点击一个通知时,使用一个待定的意图,我正在引导用户走向某个活动,在那里他可以看到所有以前的通知。 (我从MySQL数据库读取它们)。
问题1:我想,如果用户点击只在其中一人在状态栏中的所有通知被清除。可以是任何随机的(因为它来自我的应用程序)。 setAutoCancel()方法只能删除被按下的那个,而我似乎不知道我会在哪里实现cancelAll()方法。
答案:
@Override
protected void onResume()
{
super.onResume();
NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}
问题2:由于每个通知具有唯一的ID,从个体应用程序发送几个通知,以及在从所述用户不检查的情况下,可能会导致通知栏中出现多个图标。 Android开始收集它们,并在他们开始占用太多空间时显示徽章号码,并且系统意识到他们没有足够的空间。 有没有什么方法可以将它们从一开始组合起来?也就是说,只要我发送通知,并且没有被选中,第二个应该被添加,并且无论系统使用什么,单个图标都应该出现在编号为2或+的条上。
问题1:onResume显示的活动或应用程序中的每个活动。问题2:我不知道任何现有的简单方法来做到这一点,我通过手动跟踪我自己的数据库来做到这一点。 –
@ChorWaiChun谢谢。我用答案更新了我的问题,请看看。关于第二个问题,你是检查每个用户,如果他们检查通知或否和计数?我没有完全理解你。 – tony9099
我的应用程序基于聊天环境,每条消息我将在数据库中更新其读取和未读状态。所以我会在我的表格中填入未读数量的徽章数量。 –