android 中的 PendingIntent.FLAG_UPDATE_CURRENT 和 0 有什么不同?
var aa= PendingIntent.getService(mContext, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT)
var bb= PendingIntent.getService(mContext, 0, myIntent, 0)
Run Code Online (Sandbox Code Playgroud)
PendingIntent.FLAG_UPDATE_CURRENT基于以下文档PendingIntent.FLAG_UPDATE_CURRENT:
指示如果描述的 PendingIntent 已经存在,则保留它,但用这个新 Intent 中的内容替换它的额外数据。
用法
如果您正在创建仅附加内容发生变化的意图,并且不关心收到您之前的 PendingIntent 的任何实体将能够使用您的新附加内容启动它,即使它们没有明确提供给它,这可以使用。
0不设置标志,即 0 作为标志参数,PendingIntent如果存在匹配提供的参数,则返回现有标志。如果没有现有匹配项,PendingIntent则将创建并返回一个新匹配项
如果您将 0 作为标志传递,则表示您没有向该标志传递任何标志PendingIntent
至少在数量上是有区别的。
看看电流常数是多少
public static final int FLAG_UPDATE_CURRENT = 134217728;
Run Code Online (Sandbox Code Playgroud)
来自文档FLAG_UPDATE_CURRENT是:
指示如果所描述的 PendingIntent 已经存在,则保留它但用这个新 Intent 中的内容替换其额外数据的标志。用于 getActivity(Context, int, Intent, int)、getBroadcast(Context, int, Intent, int) 和 getService(Context, int, Intent, int)。
如果您正在创建仅额外内容发生变化的意图,并且不关心收到您之前的 PendingIntent 的任何实体将能够使用新的额外内容启动它,即使它们没有明确提供给它,则可以使用此方法。
有关此问题的更多信息,请查看此答案
| 归档时间: |
|
| 查看次数: |
4789 次 |
| 最近记录: |