1

我正在编写自定义上传通知,与 Picasa 照片上传器http://code.google.com/p/picasaphotouploader/source/browse/trunk/src/com/android/picasaphotouploader/UploadNotification.java中的通知非常相似

在创建时,我设置了FLAG_ONGOING_EVENT它并且它可以工作。上传完成后,我有这两行:

flags =~ Notification.FLAG_ONGOING_EVENT; flags += Notification.FLAG_AUTO_CANCEL;

但是,我的通知是不可取消的,flags其值为 -3。你知道为什么我不能再改变标志了吗?

4

1 回答 1

4

一个迟到的答案,但以防其他人遇到这个问题。我相信您应该在这里使用按位运算而不是算术运算。

在这种情况下使用:

flags = (~Notificatoin.FLAG_ONGOING_EVENT | Notification.FLAG_AUTO_CANCEL);

这可能看起来很奇怪,因为如果您不知道按位操作,您的直觉会告诉您“不是正在进行或自动取消”,但这实际上意味着禁用正在进行的位并启用自动取消位。

我建议阅读按位运算符和位掩码。

于 2012-12-17T21:49:22.230 回答