Home » Android » Android:What is difference between setFlags and addFlags for intent

Android:What is difference between setFlags and addFlags for intent

Posted by: admin March 11, 2020 Leave a comment

Questions:

What is difference between setFlags and addFlags for intent. Could any one explain it please.
Help Appreciated.

How to&Answers:

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

Answer:

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.

Answer:

 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.