Флаги уведомлений имеют значение -3 - PullRequest
1 голос
/ 30 сентября 2011

Я пишу пользовательское уведомление о загрузке, очень похожее на то, что было загружено с помощью Picasa Photo Uploader. 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. У вас есть идеи, почему я не могу больше менять флаги?

1 Ответ

4 голосов
/ 18 декабря 2012

Поздний ответ, но на случай, если кто-то еще столкнется с этой проблемой.Я считаю, что вы должны использовать побитовые операции вместо арифметических операций здесь.

В этом случае используйте:

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

Это может выглядеть странно, потому что, если вы не знаете побитовые операции, вашинстинкты говорят вам «не выполняется или не отменяется автоматически», но на самом деле это означает отключение текущего бита и включение бита автоматической отмены.

Я предлагаю прочитать битовые операторы и битовые маски.

...