zoukankan      html  css  js  c++  java
  • PendingIntent.getActivity的使用

    PendingIntent.getActivity(Context context, int requestCode, Intent intent, int flags)

    第一个参数连接上下文的context

    第二个参数是对PendingIntent的描述,请求值不同Intent就不同

    第三个参数是一个Intent对象,包含跳转目标

    第四个参数有4种状态

    FLAG_CANCEL_CURRENT:如果当前系统中已经存在一个相同的PendingIntent对象,那么就将先将已有的PendingIntent取消,然后重新生成一个PendingIntent对象。

    FLAG_NO_CREATE:如果当前系统中不存在相同的PendingIntent对象,系统将不会创建该PendingIntent对象而是直接返回null。

    FLAG_ONE_SHOT:该PendingIntent只作用一次。在该PendingIntent对象通过send()方法触发过后,PendingIntent将自动调用cancel()进行销毁,那么如果你再调用send()方法的话,系统将会返回一个SendIntentException。

    FLAG_UPDATE_CURRENT:如果系统中有一个和你描述的PendingIntent对等的PendingInent,那么系统将使用该PendingIntent对象,但是会使用新的Intent来更新之前PendingIntent中的Intent对象数据,例如更新Intent中的Extras。

    如果使用PendingIntent.FLAG_UPDATE_CURRENT,那么每次notifiId都是相同的数字,说明PendingIntent是一个,旧的参数被更新了。

    如果使用PendingIntent.FLAG_ONE_SHOT,那么PendingIntent只是第一次有效,后来再点击别的Notification就无效了。

    是否和getActivity的第2个参数有关系呢?

    确实如此,第2个参数如果不同,那么表示PendingIntent不同,就不会出现上述两种情况。

    那么问题来了,FLAG_CANCEL_CURRENT和FLAG_UPDATE_CURRENT有多大的区别?

  • 相关阅读:
    PHP filter_input_array() 函数
    pt-query-digest 用法
    [SDOI2017]苹果树
    C# json 转 xml 字符串
    C# json 转 xml 字符串
    C# double 好用的扩展
    C# double 好用的扩展
    win10 uwp 使用 Microsoft.Graph 发送邮件
    win10 uwp 使用 Microsoft.Graph 发送邮件
    Sublime Text 安装中文、英文字体
  • 原文地址:https://www.cnblogs.com/lyxin/p/5995681.html
Copyright © 2011-2022 走看看