Ich habe einen Dienst ausgeführt und möchte eine Benachrichtigung senden. Schade, das Benachrichtigungsobjekt erfordert ein Context
, wie ein Activity
und kein Service
.
Kennen Sie einen Weg, das zu umgehen? Ich habe versucht, Activity
für jede Benachrichtigung eine zu erstellen, aber es scheint hässlich, und ich kann keinen Weg finden, eine Activity
ohne zu starten View
.
android
service
notifications
e-satis
quelle
quelle
Antworten:
Beides
Activity
undService
eigentlichextend
Context
so können Sie einfachthis
als IhrContext
in Ihrem verwendenService
.quelle
Diese Art der Benachrichtigung ist veraltet, wie aus Dokumenten hervorgeht:
Besserer Weg
Sie können eine Benachrichtigung wie folgt senden:
Bester Weg
Code oben benötigt mindestens API-Level 11 (Android 3.0).
Wenn Ihre Mindest-API-Stufe unter 11 liegt, sollten Sie die NotificationCompat-Klasse der Support-Bibliothek wie folgt verwenden .
Wenn Ihre Mindestziel-API-Stufe 4+ (Android 1.6+) beträgt, verwenden Sie Folgendes:
quelle
quelle
Ich bin mir nicht sicher, ob meine Lösung die beste Vorgehensweise ist. Die Verwendung des
NotificationBuilder
my-Codes sieht folgendermaßen aus:Manifest:
und hier der Service:
Ich weiß nicht, ob es wirklich ein
singleTask
at gibt,Service
aber das funktioniert bei meiner Anwendung richtig ...quelle
Wenn nichts davon funktioniert, versuchen Sie es
getBaseContext()
anstelle voncontext
oderthis
.quelle
getBaseContext()
diese Szenarien nicht verwenden .