Android存储多个通知ID,允许同时显示多个通知

时间:2011-11-27 03:45:25

标签: android notifications

我正在使用AsyncTask下载apk文件,然后在post execute方法下安装它。

预执行 {

Get a notification variable from shared preference and adds +1 to it
Create a new notification based on this variable

}

在后台做 {

 Update this notification based on its ID -1 (to refer to initial notification ID)

}

执行后 {

Update this notification based on its ID -1 (to refer to initial notification ID)

}

在此线程运行的同时(例如通过网络下载非常大的文件)我将允许用户开始另一次下载。在这种情况下,我想显示2个通知,而不是重复使用相同的通知ID。当我在Do In Background和Post Execute线程中引用其通知ID时,有2个唯一通知ID的最佳方法是什么?感谢

1 个答案:

答案 0 :(得分:2)

小睡休息后找到解决方案。一定是太累了才弄清楚

我在每个private int notification_ID中放置了一个局部变量AsyncTask 创建通知后,插入共享首选项(Notification_ID + 1)
Do In Background和Post Execute在更新此通知时仍然使用此私有变量

当一个新的AsyncTask线程启动时,它将首先从共享首选项读取,这将是一个新值(假设第一个是0,第二个将是0 + 1 = 1)然后当它在后台执行时Post Execute尝试访问其notification_ID,它将访问自己的私有变量,其值为1,因此不会与第一次或后续通知冲突