В то время как чтение Android ведет к Уведомлениям, я споткнулся через это:
Добавление вибрации
Можно предупредить пользователя с шаблон вибрации по умолчанию или с шаблоном вибрации, определенным приложением.
Для использования шаблона по умолчанию добавьте "DEFAULT_VIBRATE" к полю значений по умолчанию:
notification.defaults |= Notification.DEFAULT_VIBRATE;
То, что это делает, очиститься: это добавляет DEFAULT_VIBRATE
отметьте к флагам по умолчанию объекта уведомления. Но что делает |=
оператор делает в Java? Похоже "ИЛИ", но как это работает?
Можно ли обеспечить пример с помощью чисел?
Спасибо
| =
- оператор присваивания побитового ИЛИ. Он берет текущее значение LHS, поразрядно или RHS и присваивает значение обратно LHS (аналогично + =
с добавлением).
Например:
foo = 32; // 32 = 0b00100000
bar = 9; // 9 = 0b00001001
baz = 10; // 10 = 0b00001010
foo |= bar; // 32 | 9 = 0b00101001 = 41
// now foo = 41
foo |= baz; // 41 | 10 = 0b00101011 = 43
// now foo = 43
a | = x
равно a = a | x
, а |
- это «поразрядное включающее ИЛИ»
Когда возникают такие вопросы, проверяйте официальное руководство по операторам .
Каждый оператор имеет форму назначения:
+ =
- =
* =
/ =
% =
& =
^ =
| =
<< =
>> =
>>> =
Где OP = x
переводится в a = OP x
И примерно поразрядные операции :
0101 (decimal 5)
OR 0011 (decimal 3)
= 0111 (decimal 7)
Побитовое ИЛИ может использоваться в ситуациях, когда набор битов используется в качестве флагов; каждый бит одного двоичного числа может представлять отдельную логическую переменную. Применение побитовой операции ИЛИ к числу вместе с битовым шаблоном, содержащим 1 в некоторых позициях, приведет к получению нового числа с установленными битами. Например:
Это побитовый оператор ИЛИ. Если notifications.default - 0b00000001 в двоичной форме, а Notification.DEFAULT_VIBRATE - 0b11000000, то результатом будет 0b11000001.
Это сокращенная запись для выполнения побитового ИЛИ и присваивания за один шаг.
x | = y
эквивалентно x = x | y
Это можно сделать с помощью многих операторов, например:
x += y
x -= y
x /= y
x *= y
etc.
Пример побитового ИЛИ с использованием чисел ... если в операндах установлен какой-либо бит, в результате будет установлен бит. Итак, если:
x = 0001 and
y = 1100 then
--------
r = 1101
В данном случае notification.defaults
- это битовый массив. Используя |=
, вы добавляете Notification.DEFAULT_VIBRATE
в набор параметров по умолчанию. Внутри Notification
, вероятно, наличие этого конкретного значения будет проверяться следующим образом:
notification.defaults & Notification.DEFAULT_VIBRATE != 0 // Present