Android:意图的setFlags和addFlags之间有什么区别
意图的setFlags和addFlags之间有什么区别。 请有人解释一下吗? 帮助赞赏。
当你使用setFlags
你正在replace旧的标志…当你使用addFlags
你正在追加新的标志。 请记住,一个标志只是一个二进制的整数,在二进制中,标志看起来像这样:1,10,100,1000等等(在这个例子中是1,2,4,8) 。 那么, addFlags
所做的就是使用|
附加你传递的整数 运营商。
// example... // value of flags: 1 intent.setFlags(2|4); // now flags have this value: 110 intent.addFlags(8); // now flags have this value: 1110
intent.setFlags(int num);
这个设置标志控制着如何处理Intent.setflag,主要取决于Intent所执行的组件types。它返回相同的intent对象,将多个调用链接成一个语句。
intent.addFlags(int num);
这有助于将附加标志添加到具有现有值的特定意图。此外,还会将同一个意图对象用于将多个调用链接到一个语句中。
public Intent addFlags(int flags) { mFlags |= flags; return this; } public Intent setFlags(int flags) { mFlags = flags; return this; }
刚刚从源代码中find这个,供参考。