FLEX: Programmatische Alarm entfernen?
-
06-09-2019 - |
Frage
Ich muss programmatisch eine Benachrichtigung entfernen.
Dies ist der Grund: Meine Anwendung verwendet Browsermanager DeepLinking off des Inhalts im #hash Teil der URL basiert zu ermöglichen. Wenn eine Warnung zur Zeit abgelaufen ist, und der Benutzer trifft die Zurück-Taste, wird die Anwendung in seinen vorherigen Zustand wieder zurück. Aber der Alarm wird immer noch sein, und in vielen Fällen irrelevant an diesem Punkt.
So ist es eine Möglichkeit, programmatisch das Alert zu entfernen? so, wenn die Hash-Fragment Änderungen kann ich es entfernen.
Danke!
Lösung
Es stellt sich heraus die Alert.show Funktion gibt eine Alert-Referenz und verwendet dann nur Popupmanager es zur Anzeigeliste hinzuzufügen. Wenn Sie also die Rückkehr Referenz erfassen, wenn Sie anrufen Alert.show können Sie Popupmanager sagen, es zu entfernen. :)
Andere Tipps
Sie können dies tun, indem Sie die Alert
Objekt als Mitglied Daten zu halten und dann seine visible
Eigenschaft auf false gesetzt wird, wenn Sie mit ihm fertig sind. Das nächste Mal müssen Sie eine Benachrichtigung zeigen, erzeuge nicht neu - die man greifen haben Sie bereits erstellt und legen Sie seine Eigenschaften, dann setzen visible
auf true wieder
private var myAlert : Alert;
public void showAlert( message: String, title : String ) : void
{
hideAlert();
myAlert = Alert.show( message, title, Alert.OK | Alert.NONMODAL );
}
public void hideAlert() : void
{
if( myAlert != null && myAlert.visible ) {
myAlert.visible = false;
}
}
Ich glaube nicht, das ist möglich.
Sie können Ihren eigenen Alarm Komponente Subklassifizieren TitleWindow
erstellen und dann PopupManager
verwenden, um ein- / auszublenden sie.