1、延迟广播:PendingIntent
PendingIntent是Intent中的一种,Intent是立即执行的意图,而PendingIntent是在未来的某一时刻发生的意图。
PendingIntent支持三种延迟意图:启动Activity、启动Service和发送广播。
获取PendingIntent对象的方式:
public static PendingIntent getActivity(Context context, int requestCode,Intent intent, @Flags int flags)
public static PendingIntent getService(Context context, int requestCode,@NonNull Intent intent, @Flags int flags)
public static PendingIntent getBroadcast(Context context, int requestCode,Intent intent, @Flags int flags)
- Context:context上下文,PendingIntent启动活动的上下文
- requestCode:requestCode请求码 ,发送者发送的请求码
- Intent:intent意图:要加载活动的意图
- flags 标记
2、关于flags标记
FLAG_ONE_SHOT:表示当前的PendingIntent只能被使用一次,然后它就会被自动取消。
FLAG_NO_CREATE:获取PendingIntent对象时,若不存在则返回null;
FLAG_CANCEL_CURRENT:如果PendingIntent对象已存在,就取消原有的对象,创建新的PendingIntent对象
FLAG_UPDATE_CURRENT:如果PendingIntent对象已存在,则保留原有的对象,更新其设置