В чем разница между setFlags и addFlags для намерения. Может ли кто-нибудь объяснить это, пожалуйста. Помогите оценить.
Android: какая разница между setFlags и addFlags для намерения
Ответ 1
Когда вы используете setFlags
, вы заменяете старые флаги... когда вы используете addFlags
, вы добавляете новые флаги. Помните, что флаг представляет собой целое число, которое имеет силу двух... в двоичном формате, флаги выглядят так: 1, 10, 100, 1000 и т.д. (Которые в этом случае равны 1, 2, 4, 8), Итак, что addFlags
делает, добавляет целое число, которое вы передаете, используя оператор |
.
// example...
// value of flags: 1
intent.setFlags(2|4);
// now flags have this value: 110
intent.addFlags(8);
// now flags have this value: 1110
Ответ 2
intent.setFlags(int num);
Этот флаг устанавливает, как обрабатывать Intent.setflag в основном зависит от типа компонента, выполняемого Intent.It возвращает один и тот же объект намерения для объединения нескольких вызовов в один оператор.
intent.addFlags(int num);
Это помогает добавить дополнительные флаги к определенному намерению с существующими значениями. Это также возвращает один и тот же объект намерения для объединения нескольких вызовов в один оператор.
Ответ 3
public Intent addFlags(int flags) {
mFlags |= flags;
return this;
}
public Intent setFlags(int flags) {
mFlags = flags;
return this;
}
Просто нашел это из исходного кода для справки.