Я заметил, что много функций Android имеет параметр, в котором можно передать, это - битовая маска, для различных вариантов, как на PendingIntent, можно передать в вещах как Вы, может назвать getActivity () с PendingIntent.FLAG_CANCEL_CURRENT|PendingIntent.FLAG_NO_CREATE
.
Я задаюсь вопросом, как я могу создать функцию, которая имеет параметр как это?
public static final int FLAG_1 = 1<<0; // 0x01
public static final int FLAG_2 = 1<<1; // 0x02
public static final int FLAG_3 = 1<<2; // 0x04
public static final int FLAG_4 = 1<<3; // 0x08
public void myFlagsFunction( int flags ) {
if ( 0 != ( flags & FLAG_1 ) ) {
// do stuff
}
if ( 0 != ( flags & FLAG_2 ) ) {
// do stuff
}
}
Они выполняются вручную, просто путем определения флагов в степени двойки. В этом файле используется левый оператор битового сдвига, но это не обязательно:
public static final int FLAG_ONE_SHOT = 1<<30;
//...
public static final int FLAG_NO_CREATE = 1<<29;