Android:What is difference between setFlags and addFlags for intent
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.