PendingIntent --------flags

public static PendingIntent getActivity(Context context, int requestCode,Intent intent, int flags);目前为止只提供FLAG_ONE_SHOT, FLAG_NO_CREATE, FLAG_CANCEL_CURRENT, FLAG_UPDATE_CURRENT这四个flag.

1.利用 FLAG_ONE_SHOT获取的PendingIntent只能使用一次,即使再次利用上面三个方法重新获取,再使用PendingIntent也将失败。

2.利用FLAG_NO_CREAT获取的PendingIntent,若描述的Intent不存在则返回NULL值.

3.如果描述的PendingIntent已经存在,则在产生新的Intent之前会先取消掉当前的。你可用使用它去检索新的Intent,如果你只是想改变Intent中的额外数据的话。通过取消先前的Intent,可用确保只有最新的实体可用启动它。如果这一保证不是问题,考虑flag_update_current.

4.最经常使用的是FLAG_UPDATE_CURRENT,因为描述的Intent有更新的时候需要用到这个flag去更新你的描述,否则组件在下次事件发生或时间到达的时候extras永远是第一次Intent的extras.

posted @ 2015-12-20 16:34  awayaaaaaaaa  阅读(207)  评论(0编辑  收藏  举报