PendingIntent参数使用说明
标签(空格分隔): 菜鸟 android
概念介绍
首先我们需要明确一个概念,就是什么才是相同的PendingIntent,这里的相同并不是指对象相同。
当PendingIntent中的Intent和requestCode都相同即说明这两个是相同的PendingIntent
当Intent的componentName和intent-filter都相同即说明这两个是相同的Intent
通知发送规则
manager.notify(id,notification);
上述是一条发送通知的语句,无论什么情况,只要id相同,那么通知栏就永远只会存在最多一条当前通知。这个一般都不会有什么疑问。但是,当每次发送的通知id不相同时,就会在通知栏出现多条通知。可是当使用相同的PendingIntent发送多条通知之后,点击事件的策略,就会根据其中的flag参数而采取不同行为方式
PendingIntent参数介绍
FLAG_ONE_SHOR
该标志位表示这些多条通知具有相同的点击事件但只能有一个被点击。当有一个通知被点击之后,其他带有相同PendingIntent的通知的点击事件就会消失(通知不会消失)。
FLAG_NO_CREATE
这个标志位太傻逼,不想说。
FLAG_CANCEL_CURRENT
该标志位表示只有最新发送的通知具有点击事件,之前发送的通知点击事件被自动取消,此时之前的通知点击无效。
FLAG_UPDATE_CURRENT
该标志表示之前发送的通知具有与当前发送的通知相同的点击事件,并且全部都可以被点击。