1

这在此处的 android 通知中使用:

http://www.vogella.com/articles/AndroidNotifications/article.html#notificationmanager_configure

// Hide the notification after its selected
noti.flags |= Notification.FLAG_AUTO_CANCEL;
4

2 回答 2

8

按位或赋值。

int a = 6, b = 5;
a = a | b;
// is equivalent to
a |= b;

在像 Android 这样的系统中,将许多不同的布尔属性压缩成一个整数值通常是有意义的。值可以与 结合|和测试&

// invented constants for example
public static final int HAS_BORDER = 1;   // in binary: 0b00000001
public static final int HAS_FRAME = 2;    //            0b00000010
public static final int HAS_TITLE = 4;    //            0b00000100

public void exampleMethod() {
  int flags = 0;                          //    flags = 0b00000000
  flags |= HAS_BORDER;                    //            0b00000001
  flags |= HAS_TITLE;                     //            0b00000101

  if ((flags & HAS_BORDER) != 0) {
    // do x
  }

  if ((flags & HAS_TITLE) != 0) {
    // do y
  }
}
于 2013-07-27T23:30:50.883 回答
4

如同:

noti.flags = noti.flags | Notification.FLAG_AUTO_CANCEL;

所有的位都OR'ed在一起。这通常是将标志添加到一组现有标志的好方法,因为可能只设置了一个位,Notification.FLAG_AUTO_CANCEL因此该位将.noti.flags

于 2013-07-27T23:30:23.870 回答