Was ist ein korrekter Ansatz für die Nichtverfügbarkeit von Internetverbindungen (auf Mobilgeräten üblich)?Codename One - ToastBar bei "Keine Verbindung gefunden"
Vielleicht ist es eine große Frage (oder auch nicht), aber ich habe kein Codenamen One Tutorial/article/Video oder API mit einer instabilen Internetverbindung zu behandeln finden (das ist die Normalität auf mobiles) ohne Fehler oder unerwarteten Verhaltensweisen. Ich habe eine App (Protonmail) gefunden, die eine Funktionalität besitzt, die ich in meinen Apps replizieren möchte. Bitte schauen Sie sich die folgenden zwei Screenshots an: Der erste Screenshot wird erstellt, wenn die Internetverbindung verfügbar ist, der zweite, wenn dieser nicht verfügbar ist.
Ich stellte fest, dass die ToastBar nicht nur angezeigt, wenn Internet explizit deaktiviert ist, aber jedes Mal, dass der Server nicht erreichbar ist. Wenn die Meldung "Keine Verbindung erkannt" angezeigt wird, pausiert die App die Internetaktivität, sodass keine Fehler generiert werden (und die vom Benutzer geschriebenen Nachrichten nicht verloren gehen). Wenn der App-Server wieder erreichbar ist, verschwindet die ToastBar automatisch (ohne die Schaltfläche "RETRY" zu drücken).
Was ist ein korrekter Weg, um eine ähnliche Funktionalität in Codename One zu implementieren, so weit wie möglich unabhängig von der spezifischen App? Ist es möglich, die Internet-Aktivität einer Codename One-App auszusetzen und sie dann wiederherzustellen?
Ich stelle mir vor, so etwas wie dieses:
- die App versucht, eine einfache Anfrage zu tun (wie ein Ping) an einen Server alle paar Sekunden, die performBackgroundFetch Verfahren implementiert;
- Wenn innerhalb einer festgelegten Zeit (d. H. Drei Sekunden) keine Antwort erfolgt, wird die Internetaktivität ausgesetzt und die ToastBar wird angezeigt.
- Wenn eine Antwort vorliegt, wird die Internetaktivität wiederhergestellt, die angehaltenen oder fehlgeschlagenen Downloads werden neu gestartet und die ToastBar wird ausgeblendet.
- Idealerweise sollte das alles auch mit einer BrowserComponent funktionieren.
Danke. Über die Javascript-Seite habe ich eine neue Frage geöffnet: https://stackoverflow.com/questions/45866963/javascript-show-message-when-no-connectivity-detected –