What is difference between setFlags and ad开发者_StackOverflow中文版dFlags for intent. Could any one explain it please. Help Appreciated.
When you use setFlags
you are replacing the old flags... when you use addFlags
you are appending new flags. Remember, a flag is just a integer which is power of two... in binary, flags look like this: 1, 10, 100, 1000, etc... (which in this case are 1, 2, 4, 8). So, what addFlags
does is appending the integer you pass using the |
operator.
// 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);
This set flag controls how to handle the Intent.setflag mainly depends on type of component being executed by the Intent.It returns the same intent object for chaining multiple calls into a single statement.
intent.addFlags(int num);
This helps to add additional flags to a particular intent with the existing values.this also returns the same intent object for chaining multiple calls into a single statement.
public Intent addFlags(int flags) {
mFlags |= flags;
return this;
}
public Intent setFlags(int flags) {
mFlags = flags;
return this;
}
Just found this from the source code,for reference.
精彩评论