Поздний ответ, но на случай, если кто-то еще столкнется с этой проблемой.Я считаю, что вы должны использовать побитовые операции вместо арифметических операций здесь.
В этом случае используйте:
flags = (~Notificatoin.FLAG_ONGOING_EVENT | Notification.FLAG_AUTO_CANCEL);
Это может выглядеть странно, потому что, если вы не знаете побитовые операции, вашинстинкты говорят вам «не выполняется или не отменяется автоматически», но на самом деле это означает отключение текущего бита и включение бита автоматической отмены.
Я предлагаю прочитать битовые операторы и битовые маски.