![]() |
Android Mailversand bei "schlechtem Netz"
Hallo,
in meiner App werden Mails erzeugt und versendet. Nun kommt es aber vor, dass der Anwender "irgendwo im Wald steht" und schlechten bis gar keinen Empfang hat... Dann läuft die Senderoutine sehr langsam und irgendwann kommt Android und meldet, dass die App nicht mehr reagiert und geschlossen werden soll :-( Das möchte ich verhindern, nur fehlt mir der richtige Ansatz! - Das Senden in einen Thread verlagern, bringt das was? - nicht selbst senden sondern einen Intent lostreten? Was passiert da bei schlechtem Empfang? - welche anderen Möglichkeiten seht Ihr? Ciao Stefan |
AW: Android Mailversand bei "schlechtem Netz"
Ich habe noch nie gesehen dass eine Anwendung über selbstgebauten Kram (z.B. Indy-Komponenten) Mails verschickt sondern den Mail-Mechanismus des Betriebssystems nutzt. Wenn es nicht klappt bleibt die Mail halt solange im Postausgang stecken und wird gesendet wenn wieder Empfang da ist, trotzdem muss sich der Entwickler um nichts weiter kümmern.
|
AW: Android Mailversand bei "schlechtem Netz"
Hallo,
Zitat:
|
AW: Android Mailversand bei "schlechtem Netz"
[OT]
@Der schöne Günther: Natürlich gibt es sehr viele derartige Programme. Jedes E-Mail-Programm muss das machen. Outlook gehört übrigens nicht zum Betriebssystem. Ich habe auch ein paar Anwendungen bei denen das erforderlich ist, da zwar der Mail-Server bekannt ist, aber kein Mail-Client auf dem lokalen Rechner ist. [/OT] @skoschke: Spontan folgende Ideen: 1. Du kannst den Versand auch über den Mail-Client auf dem Gerät lösen. Dann kümmert sich dieser darum. 2. Du prüfst die Konnektivität und sendest erst, wenn es geht. Allerdings musst du auf immer noch auf einen Verbindungsabbruch reagieren. Du kannst da zum Beispiel auf ein Time-Out reagieren und über einen Timer einen neuen Versuch starten, falls notwendig. 3. In einen Thread auslagern und bei Verbindungsverlust den Thread pausieren. |
AW: Android Mailversand bei "schlechtem Netz"
Ich befürchte der Günther hat im Kontext der Frage geantwortet (Android Betriebssystem) und keine generelle Aussage zu allen Betriebssystem (die die wir schon kennen und die die wir noch nicht kennen) getroffen.
|
AW: Android Mailversand bei "schlechtem Netz"
brian long hat eine demo veröffentlicht, in der er genau das macht.
Eine der Funktionen der App "Activities" ist das Erzeugen einer mail, um die sich das Betriebssystem kümmert vielleicht kürzt es ja die Entwicklungszeit ab :) Blogeintrag: ![]() Sources: ![]() |
AW: Android Mailversand bei "schlechtem Netz"
Ja, klar, bei Crossplattformentwicklung und App hatte ich vorausgesetzt, dass man erkennt dass es eine Android-App ist ;-)
Und damit sind wir bei Übergabe an das Betriebssystem: Bei Mailversand per Intent geht das Mailprogramm auf und der Benutzer muss erst "Senden" klicken. Das ist umständlich und da auch noch 3 Mails in diesem Zusammenhang versendet werden, das Ganze mal drei. Das möchte ich dem Nutzer nicht zumuten. Oder gibt es einen Trick, die Mail per Intent wirklich direkt zu versenden die ich noch nicht kenne, ohne Benutzerklicks? Ciao Stefan |
AW: Android Mailversand bei "schlechtem Netz"
Zitat:
Ciao Stefan |
AW: Android Mailversand bei "schlechtem Netz"
Nein
|
AW: Android Mailversand bei "schlechtem Netz"
Zitat:
Ganz einfach: im anderen Fall läuft alles im Hauptthread der Anwendung ab und wenn der Netzwerkaufruf blockierend ist (wie m.W. bei Indy) blockiert das den Hauptthread, der auch für die Aktualisierung des GUI zuständig ist. Zumindest in Windows würden dann keine Windows Botschaften mehr abgerufen und das Betriebssystem würde nach einem Timeout diese "Reagiert nicht" Meldung bringen. Ich vermute stark, dass der Mechanismus in Android ähnlich funktioniert. Grüße TurboMagic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz