PendingIntent requestCode flags 参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PendingIntent requestCode flags 参数相关的知识,希望对你有一定的参考价值。
参考技术A在使用PendingIntent向Activity和BroadcastReceiver传递内容时遇到的坑,记录下来。
第二个参数 requestCode 相同的话后面的定时器会将前面的定时器"覆盖"掉,只会启动最后一个定时器,所以同一时间的定时器可以用同一个requestCode,不同时间的定时器用不同的requestCode。
<br />
第二个参数 requestCode不同 ,以及设置最后一个flags参数为PendingIntent. FLAG_UPDATE_CURRENT 可以保证每次点击notification进入activity,传的参数都是当前这个notification传过去的(Intent里附带的参数)。如果 requestCode相同 ,最后一个参数为PendingIntent. FLAG_UPDATE_CURRENT ,那么所有未点击的notification里的参数都会被更新为最后一个传过去的,也就是最新的。
flags的取值有四个:
FLAG_ONE_SHOT:获取的PendingIntent只能使用一次
FLAG_NO_CREATE:利用FLAG_NO_CREAT获取的PendingIntent,若描述的Intent不存在则返回NULL值
FLAG_CANCEL_CURRENT:如果描述的PendingIntent已经存在,则在产生新的Intent之前会先取消掉当前的
FLAG_UPDATE_CURRENT:能够新new一个 Intent
举个栗子:
通过notification向activity传递一个数字,第一个通知传递1,第二个通知传递2。(notification的notifyCode不同,保证两个notification都能显示出来)现在两个通知均是弹出来未点击状态。
点击测试结果如下:
以上是关于PendingIntent requestCode flags 参数的主要内容,如果未能解决你的问题,请参考以下文章