У меня работает служба, и я хочу отправить уведомление. Жаль, что объект уведомления требует a Context
, например Activity
, а не Service
.
Вы знаете способ обойти это? Я пытался создать Activity
для каждого уведомления, но это кажется некрасивым, и я не могу найти способ запустить Activity
без них View
.
android
service
notifications
e-satis
источник
источник
Ответы:
Оба,
Activity
и наService
самом деле,extend
Context
вы можете просто использоватьthis
как своиContext
внутри вашегоService
.источник
Этот тип уведомления устарел, как видно из документов:
Лучше всего
вы можете отправить уведомление следующим образом:
Наилучший вариант
кода, приведенного выше, требует минимального уровня API 11 (Android 3.0).
Если ваш минимальный уровень API ниже 11, вам следует использовать класс библиотеки поддержки NotificationCompat, подобный этому.
Итак, если ваш минимальный целевой уровень API составляет 4+ (Android 1.6+), используйте это:
источник
источник
Что ж, я не уверен, что мое решение лучше всего. Использование
NotificationBuilder
моего кода выглядит так:Манифест:
а здесь Сервис:
Я не знаю, действительно ли есть
singleTask
at,Service
но в моем приложении это работает правильно ...источник
Если ничего из этого не работает, попробуйте
getBaseContext()
вместоcontext
илиthis
.источник
getBaseContext()
эти сценарии.