AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Android Mailversand bei "schlechtem Netz"
Thema durchsuchen
Ansicht
Themen-Optionen

Android Mailversand bei "schlechtem Netz"

Ein Thema von skoschke · begonnen am 26. Sep 2018 · letzter Beitrag vom 30. Sep 2018
Antwort Antwort
Seite 1 von 2  1 2      
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 06:23
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
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 07:22
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.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 07:35
Hallo,
Zitat:
Ich habe noch nie gesehen dass eine Anwendung über selbstgebauten Kram (z.B. Indy-Komponenten) Mails verschickt
Ich schon, z.B. bei meinem eigenen Programm.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 07:45
[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.
Peter
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#5

AW: Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 08:15
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.
  Mit Zitat antworten Zitat
knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 08:33
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:
http://blog.blong.com/2017/11/codera...-directly.html

Sources:
http://blong.com/Downloads/CodeRageX...eAndroidAPI.7z
Wolfgang
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 09:05
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
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 09:07
Zitat:
In einen Thread auslagern und bei Verbindungsverlust den Thread pausieren.
Kommt Android bei einem Thread auch wenn der "länger nicht reagiert" und will den abschießen wie bei meiner App?

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Android Mailversand bei "schlechtem Netz"

  Alt 26. Sep 2018, 09:08
Nein
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#10

AW: Android Mailversand bei "schlechtem Netz"

  Alt 28. Sep 2018, 18:45
- Das Senden in einen Thread verlagern, bringt das was?
Wenn man den E-Mail Versand selber machen muss, dann bringt das Auslagern in einen thred etwas. Warum?
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz