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