iOS - Wie kann ich sagen, ob eine lokale Benachrichtigung meine App dazu veranlasst hat, den Vordergrund aufzurufen?
-
21-12-2019 - |
Frage
Ich habe Code innerhalb meiner App-Delegierten
generasacodicetagpre.-Methode zum Anzeigen eines uialertviews für diese lokale Benachrichtigung, wann immer meine App im Vordergrund ist.
Wenn sich meine App im Hintergrund befindet, wenn die lokale Benachrichtigung der Benutzer ankommt, wird der Benutzer mit der Benachrichtigung präsentiert und kann die App starten, indem Sie sie auswählen. In diesem Fall kommt meine App in den Vordergrund, den meine App-Delegierte
generasacodicetagpre. wird aufgerufen. Danach wird meine
Ich kann sehen, dass, wenn eine App aufgrund einer lokalen Benachrichtigung eingeführt wird, dann innerhalb der
generasacodicetagpre.-Methode Sie können die Startoptionen für einen Schlüssel inspizieren
generasacodicetagpre.zu wissen, ob eine lokale Benachrichtigung Ihre App zum Start verursacht hat oder nicht, aber es scheint keine solche Methode zu ermitteln, um dies herauszufinden, wenn Sie gerade vom Benutzer wieder in den Vordergrund zurückgebracht werden, indem der Benutzer mit einer lokalen Benachrichtigung interagiert. .
prüfen, ob mein anwendungsmethode kürzlich aufgerufen wurde oder nicht in letzter Zeit eine hackige Weise um dieses Problem scheint, oder vielleicht etwas Ähnliches der in dieser Frage angegebenen Antworten "Isoios Wie man beendet, läuft Vordergrund oder Hintergrund? "wird mir erlauben Überprüfen Sie das
generasacodicetagpre.von meiner
generasacodicetagpre. -Methode. Hoffentlich wird es früh genug empfangen, dass mein Anwendungstat in diesem Fall immer noch nicht auf
oder gibt es dafür bessere Lösungen?
jubeln
Lösung
In Appdelegate können Sie den Status der App prüfen, wenn die Anwendung Benachrichtigung empfängt
generasacodicetagpre.Andere Tipps
wollte nur sagen, dass ich gerade bemerkt habe, dass die vorgeschlagene Antwort der Überprüfung des Anwendungsstaaten ein bisschen einen schlechten Nebeneffekt hat, dass es irgendetwas aufhören wird, was passiert, während das Benachrichtigungszentrum offen ist und über der Spitze Ihrer App ist. Persönlich wollte ich nicht, dass ich meine Alarmansicht von der Erstellung anhält, also habe ich eine Alternative gefunden.
Grundsätzlich zeichne ich nur das Datum auf, wenn meine App zuletzt gestartet oder im Vordergrund geführt wurde, und dann, wenn ich meine Benachrichtigungsdaten testen, vergleiche ich ihr Feuervorgabe mit dem ApplastStarted-Datum und zeigt nur die Benachrichtigung an, wenn er aufgetreten ist, da in der Vordergrund meine App aufgetreten ist. Dies behebt das Problem beim Öffnen der App von einer Benachrichtigung, ermöglicht es jedoch auch, dass die Warnungen angezeigt werden, wenn die App nicht aktiv ist (dh hinter Notifizierungszentrum).
Ich habe noch keine Probleme mit diesem Ansatz erfahren, obwohl ich jedoch nur von heute ausprobiert habe, also hatte es nicht viel Tests.
Ich dachte nur, würde ich es aufnehmen, wenn niemand andere ähnliche Anforderungen hatte.
Swift 4-Lösung:
generasacodicetagpre.