PendingIntent概述

一、定义

PendingIntent表示待定、等待、即将发生的意思。Intent表示的是立刻发生。

PendingIntent的主要方法:

int requestCode:表示请求码,跟intent是一样的。

int flags:常见的类型

FLAG_ONE_SHOT:当前描述的PendingIntent只能被使用一次,同类型的通知栏只能使用一次,后续的通知栏单击后将无法打开。

FLAG_NO_CREATE:当之前的PendingIntent不存在,则返回null(基本用不到)

FLAG_CANCEL_CURRENT:如果PendingIntent已存在,都会被cancel,然后系统创建一个新的PendingIntent。

FLAG_UPDATE_CURRENT:如果PendingIntent已经存在,则他们都会被更新,就是Intent中的extra都会被更新。

二、结合通知栏描描述

1.在Notification中有manager.notify(1,notification);如果第一个参数id是常量,多次调用notify方法,只会替换掉前面的notification。

如果参数id不为常量,PendingIntent才有意义。

FLAG_ONE_SHOT:当单机任何一条通知,其余的通知无法使用

FLAG_CANCEL_CURRENT:只有最新的通知可以打开,之前弹出的所有通知无法打开

FLAG_UPDATE_CURRENT:之前弹出的通知中的PendingIntent会被更新。

原文地址:https://www.cnblogs.com/rookiechen/p/5427417.html