Zeigen Sie eine Benachrichtigung nur, wenn die Aktivität nicht zeigen
Ich habe einen hintergrund-task würde ich wie zu handhaben. Die Sache ist, dass wenn die Aufgabe abgeschlossen ist, ich möchte sagen, eine neue Aktivität zu zeigen, das Ergebnis an den Benutzer, nur, wenn meine Haupttätigkeit ist, die zeigen, sonst wäre ich gerne senden Sie einfach eine Mitteilung, so kann der Benutzer sehen, dass die Aktion abgeschlossen, und in der Lage sein, um es zu öffnen, Wann immer er mag.
War ich denken, sich mit einem service zu behandeln, den Beginn und die Beendigung von hintergrund-task und broadcast-eine Nachricht, wenn es fertig ist, aber in diesem Fall habe ich keine Möglichkeit zu wissen, ob die Aktivität gezeigt wurde, oder die Sendung wurde nicht verarbeitet, und ich sollte eine Benachrichtigung senden.
Also das ist mein problem, und da mein wissen und meine Erfahrung im hintergrund Aufgaben und Leistungen begrenzt ist entschied ich mich zu Fragen, für etwas Hilfe.
Vielen Dank im Voraus für das Lesen mein Fall, hoffe auf etwas Hilfe!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein guter Artikel, der beschreibt, wie das umzusetzen, was Sie wollen: Aktivität oder Benachrichtigung über die Bestellte Sendung.
Die Grundidee ist die Verwendung von bestellten Sendungen. Sollten Sie eine
BroadcastReceiver
der wird Leben, ohne irgendwelche Aktivitäten. Um dies zu tun, sollten Sie erklären es in derAndroidManifest.xml
- Datei. Dieser receiver zeigt eineNotification
. Auch sollten Sie ein anderes registerBroadcastReceiver
mit höherer Priorität werden in Ihrer Haupttätigkeit, die zeigt etwas auf dem Bildschirm. Dann brauchen Sie nur senden Sie eine bestellte Sendung.Versuchen wie diese.
wenn isInForground ist
true
dann die Aktivitäten in der Forground(Zeigen) sonst nicht angezeigt werden.wenn Sie wissen wollen von überall fügen Sie den folgenden in der MainActivity.
Dann von Ihrem service.
Es klingt wie Sie auf die Umsetzung der Aufgabe in einem thread von einem Service. Sie können eine permanente statische boolean in der Aktivität, die sagt, ob die Aktivität angezeigt wird. Eine Aktivität ist für den Benutzer sichtbar in
onResume()
und nicht immer dann sichtbar, wennonPause()
genannt wird. Setzt man das Boolesche trueonResume()
falseonPause()
.können Sie mithilfe der SharedPreferences;
update-Voreinstellungen, die auf eine Aktivität, wenn es onStart() oder onStop() und einfach überprüfen, ob es in Sie service.
Ich hoffe, ich werde helfen.