startForeground() не показывает мое уведомление

Я пытаюсь заставить мою Службу работать на переднем плане. Я пытался использовать этот пример (пожалуйста, посмотрите раздел "Running a Service in the Foreground"), но startForeground() фактически не показывает мое уведомление. И никаких исключений не возникает. Чтобы оно появилось, мне нужно использовать NotificationManager, как объяснялось здесь. С NotificationManager мое уведомление работает, но я не уверен, что мой Service находится на переднем плане после этого "тихого" вызова startForeground().

Что может быть не так?

EDIT: Я только что протестировал этот пример проекта, который должен продемонстрировать startForeground(), но он не работает! Я использую API v7.0, я тестировал его как на эмуляторе, так и на реальном устройстве (SE Xperia Neo). Уведомление не появляется.

EDIT2: если я пытаюсь вызвать setForeground(), то получаю предупреждение setForeground: ignoring old API call.

Я также пытался использовать startForegroundCompat(), как описано здесь, но эффект абсолютно тот же. Я проверяю, находится ли моя служба на переднем плане, используя ActivityManager.RunningServiceInfo, как описано здесь, и вижу, что моя служба не находится на переднем плане.

47
задан Cœur 5 August 2018 в 06:23
поделиться