PendingIntent
PendingIntent pi:是闹钟的执行动作,比如发送一个广播、给出提示等等。PendingIntent是Intent的封装类。
- 需要注意的是,如果是通过启动服务来实现闹钟提示的话,PendingIntent对象的获取就应该采用Pending.getService(Context c,int i,Intentintent,int j)方法;
- 如果是通过广播来实现闹钟提示的话,PendingIntent对象的获取就应该采用PendingIntent.getBroadcast(Context c,inti,Intent intent,int j)方法;
- 如果是采用Activity的方式来实现闹钟提示的话,PendingIntent对象的获取就应该采用PendingIntent.getActivity(Context c,inti,Intent intent,int j)方法。
如果这三种方法错用了的话,虽然不会报错,但是看不到闹钟提示效果。
/** 获取PendingIntent 对象,此处使用Broadcast*/
PendingIntent pendingIntent = PendingIntent.getBroadcast(Context context, int requestCode,
Intent intent, int flags);
参数介绍:
requestCode :闹钟的唯一标示,如果有多个闹钟需要设置改参数;
intent: 闹钟触发后需要执行的操作;
flags:
- FLAG_CANCEL_CURRENT 上一次pendingIntent 无效了,现在只有新的pendingIntent 有效能打开。
- FLAG_UPDATE_CURRENT 替换上一次intent内的内容,现在两次打开都是最后更新的内容
- FLAG_ONE_SHOT 保证只有一个该pendingIntent ;