pendingintentt://tuandetail?tuanid=12038557

在自己创建通知栏时Pendingpendingintentt使用如下方式创建,requestCode固定;显示通知栏时notify的Id不固定,如下:

这样虽然能够显示多条通知但是在点击任意一条通知以后,显示的都是第一个通知嘚内容然后点击其它的通知就会没反应。

解决方式就是每个通知栏的requestCode也要不一样
找了一篇感觉说的不错的文章,该文内容如下:

Pendingpendingintentt表示接下来会有一个pendingintentt将在某个待定的时刻发生区别于pendingintentt会立刻发生。

FLAG_ONE_SHOT:当前描述的Pendingpendingintentt只能使用一次然后会被自动cancel,后续通知的Pendingpendingintentt会和第一条通知保持完全一致包括Extras,单击任意一个通知后其他的均无法打开;当所有的通知被清除时,重复这个过程

FLAG_CANCEL_CURRENT:当前描述的Pendingpendingintentt如果已经存在,那么它们都会被cancel然后系统创建一个新的。对于通知栏而言那些被cancel 的消息会无法打开。

1.如果notify的id是常量那么不管Pendingpendingintentt是否匹配,后面的通知會直接替换前面的通知
2.如果notify的id每次不同,那么当Pendingpendingintentt不匹配时不管采用什么标志位通知之间互不干扰。

3.如果notify的id每次不同当Pendingpendingintentt匹配时: a. 采用FLAG_ONE_SHOT,後续通知的Pendingpendingintentt会和第一条通知保持完全一致包括Extras,单击任意一个通知后其他的均无法打开,当所有的通知被清除时重复这个过程。


b. 采鼡FLAG_CANCEL_CURRENT那么只有最新的通知可以打开,其余都不可以
c.采用FLAG_UPDATE_CURRENT,那么之前弹出的通知会被更新最终和最新的一条保持完全一致,包括Extras所有這些通知都可以打开。
}

我要回帖

更多关于 pendingintent 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信