Android:What is difference between setFlags and addFlags for intent

前端 未结 3 524
暗喜
暗喜 2020-11-29 17:11

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

相关标签:
3条回答
  • 2020-11-29 17:39
    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.

    0 讨论(0)
  • 2020-11-29 17:40
     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.

    0 讨论(0)
  • 2020-11-29 17:49

    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
    
    0 讨论(0)
提交回复
热议问题