Mail von Button aus mit Standard-Mail-App senden

lordzwieback

lordzwieback

Erfahrenes Mitglied
210
Schönen Abend zusammen,

folgender Code nimmt den Text aus einem Eingabefeld und auf ButtonClick wird das "Senden an... " Fenster geöffnet. Ich kann die gewünschte Anwendung auswählen (MailApp) und der Text wird mit Empfänger und Betreff eingefügt.

Code:
emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"max@mustermann.de"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Mail von App");
mailcontent = mailcontentBox.getText().toString();
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, mailcontent);
startActivity(Intent.createChooser(emailIntent, "Insert title for dialog box."));
Das funktioniert auch. Aber ist es auch irgendwie möglich, direkt zur Standard-App für Mails zu wechseln? Konnte dazu bisher noch nichts finden.

Grüße
 
Moin Lord,

habe ich noch nicht gemacht, aber wird die Standard Mail-App nicht im System angegeben ??
 
Hy,
zu dem Thema habe ich direkt auch eine Frage. Wie kann ich beim betätigen des Buttons schon angeben das eine Datei x im Dateisystem an die Mail angehangen wird?
 
Moin Mika,

der Punkt ist , ob dir das die Mail-App zurückliefert und das ist leider nicht immer der Fall.
(Und vor allem von App zu APp verschieden - wenn überhaupt integriert & zugelassen)

Gestern gabs schon mal jemand , der hatte auch ein ähnliches Zugriffsproblem.
Gmail Zugriff auf den Anhang verweigert (Automatisches Hinzufügen)

Auch hier kann ich nur empfehlen , selbst ein SMTP einzubinden , um von Dritt-Apps nicht abhängig zu sein.
Das würde eine never ending story werden
 
Um einen smtp einzubinden benötige ich einen Server oder?
 
Den hast du doch
 
Häh? Es geht in dem Fall um eine App die ich einem Kollegen geschrieben habe. Mit der App erfasst er seine Spesenabrechnung und kann die als Exceldatei exportieren. Praktisch wäre diese Datei direkt an seinen Chef zu schicken. In diesem Kontext steht kein Server zur Verfügung.
[doublepost=1485082728,1485082347][/doublepost]Wäre schön wenn er nen Server hätte. Er geht mit dem Diensthandy nicht sehr pfleglich um. Als es letztens kaputt war waren alle Daten auch futsch weil die bisher nur in einer internen SQLite Datenbank gespeichert sind. Hätte er einen Server könnte man eine Synchronisation einbauen damit nicht alle Daten verloren gehen.

Ich hab ihm die App rein frundschaftlich zusammen geschustert. Hat jetzt auch keine hübsche Gui. Ist bisher nur funktional. Dem Chef gefällt sie und er würde die gerne produktiv für alle Fahrer einsetzen. Aber dann bräuchte man auch eine iOs Version und da habe ich momentan keine Zeit für. Entlohnen will der Chef das auch, aber ich habs dankend abgelehnt. Wollte nur meinem Kollegen nen Gefallen tun und hab das in 3h runtergeschrieben. Dachte den Emailversand kriegt man auf die schnelle noch hin.
[doublepost=1485082830][/doublepost]Habe gerade folgendes gefunden, das sieht recht simple aus.
Android: Mails aus App versenden · Andreas Schrade
 
ich schreibe auch mal "Häh" :)

Der SMTP Server ist ein ganz normaler Postausgangs-Server.
Die Url von Diesem hat man bereits in seiner EMail-App eingetragen.

Und wenn du in DEINE App nur das SMTP Protokoll implementierst, dann übergibst du diesem haargenau die gleichen Daten des
Servers , die der Nutzer bereits in seiner E-Mail eh eingetragen hat .

Wo soll also das Problem sein ???

Und wenn er noch ne Nachricht dazu editieren soll, dann machst du ihm halt noch ein EditView dazu .

Das ist eine sache von 5 MInuten

Bsp :
Sending mail in android without intents using SMTP
Sending Email in Android using JavaMail API without using the default/built-in app
 
Zuletzt bearbeitet:
Wenn man es kwnnt und kann ist es eine Sache von 5 min.

Ich habe nur gesehen er hat die T-Online Mail App auf dem Handy und kann die erzeugte ExcelDatei damit manuell versenden. In wieweit man aus der App heraus an den T-Online smtp-server kommt weiß ich nicht. Da ich gerade mei Studium abschließe und ab dem nächst meinen Job antrete habe ich aber gerade nicht wirklich die Zeit mich dort großartig einzudenken. Die App habe ich mal Abends schnell programmiert als ich auf meinen schlafenden Sohn aufgepasst habe. Da hatte ich gerade Zeit.

Ich denke wenn der Chef das wirklich sauber umgesetzt haben will sollte er sich einfach an jemand wenden der Zeit dafür hat und sich mit dem Thema auch auskennt. Zumal er dann eine App für Android und iOs benötigt. IOs habe ich noch nie gemacht, bin ich also definitiv raus.

Entwickelst du gerwerblich Apps?
 
Gewerblich und Privat, und das Ganze schon seit über 30 Jahren (Apps seit ca 7)
 
Wie sieht es denn aus? Der Chef hätte gerne mit mir gesprochen wegen kleinen Änderungen und halt einer iOS Version. Ich habe aber meinen Kollegen direkt von Anfang an gesagt das ich das für ihn gemacht habe, ich will dafür kein Geld und habe kein Interesse das ganze offiziell zu machen. Die apk hab ich ihm gegeben und damit ist das für mich durch. Ich kann gerne mal nachfragen ob das Interesse das ganze offiziell umzusetzen noch immer besteht und dann den Kontakt vermitteln.

Was würdest du denn schätzen würde es in etwa kosten?
 
Dafür muss man erst mal den genauen Umfang erfahren .
Das würde mit "Was kostet ein Haus ?" gleichzusetzen sein.

Meistens benötigt ein Entwickler dazu ein sogenanntes Pflichtenheft, also eine Art "RoadMap" was alles drin sein muss .
Das gilt dann als Anhang zum Vertrag, damit jeder weis , was zu tun und zu lassen ist

Darauf gibt der Entwickler sein Angebot erst ab ..

Dann hat man auch einen Preis.
 
Das kenne ich. Ich schließe gerade meinen Master Informatik ab. Ein solches Pflichtenheft müsstest am besten du selbst im Gespräch klären. Ich installiere mal eben die von mir "entwickelte" App und mache Screenshots davon. Dann kriegst du einen ungefähren Einblick. Nur soviel, es ist echt nicht viel.

Momentan öffnet man die App und sieht dann die lokal gespeicherten Listen. Das ist eine für jeden Monat. Klickt man die Liste an kann man neue Einträge hinzufügen. Das ist eine Eingabemaske mit 2 Buttons und 2 Textfeldern. Drückt man den start Knopf wird ein aktueller Zeitstempel erzeugt. Im ersten Textfeld gibt der LKW Fahrer dann die Orte ein die er anfährt. Am Ende der Tour öffnet er den Eintrag wieder und drückt auf stop. Dann wird das Ende der Arbeitszeit mit Zeitstempel erfasst. Im zweiten Textfeld wird händisch ein Spesenbetrag eingegeben. Mein Kollege konnte mir die Bedingungen dafür nicht genau genug erklären sonst könnte man den Spesenbetrag automatisch erkennen. Wenn er Nachts fährt bekommt er Pro Tag 24€ Spesen, Tagsüber 12€. Aber da wusste er nicht die genauen Zeiten und so. Deswegen trägt er das manuell ein.

In der ersten Ansicht kann man auch lange auf den Namen einer Liste klicken dann kommt ein Dialog und man kann wählen ob man die Liste löschen oder als Exceltabelle exportieren will.

Das wars auch schon. Ich mache mal eben Screenshots von meiner schnell "hingerotzten" Gui.
[doublepost=1485087004,1485086362][/doublepost]Hier ein Link zu den Screenshots der App und der ausgegebenen Datei.

Bei der Datei fehlen im Screenshot oben zwei Zeilen, da steht der Firmenname, der Monat und der Name des Fahrers. Könnte dir auch die Apk verlinken, aber dann siehst du in der erzeugten Datei den Namen vom Unternehmen und von meinem Kollegen, weiß gerade nicht ob das okay ist, deswegen lasse ich das erstmal.

Dropbox - screenshots


Ist es denn richtig du wärst in der Lage eine App sowohl für Android als auch für iOS zu entwickeln?

Sowie ich meinen Kollegen verstanden habe ist es abhängig vom LKW welcher Fahrer was für Smartphone nutzt. Schwer vorstellbar weil eine Freisprecheinrichtung eigentlich beides können sollte, aber ka ob die iOSler noch mehr als das im LKW haben.
 
Zuletzt bearbeitet:
Um mal wieder zum Thema des Threads zurückzukommen :D

Ich habe noch ein wenig bei Google gewühlt und folgende Lösung für mein Problem gefunden:
Ich ersetze
Code:
startActivity(Intent.createChooser(emailIntent, "Insert title for dialog box."));
durch
Code:
startActivity(emailIntent);
Dadurch wird jetzt ein kleines Menü mit verfügbaren ZielApps angezeigt und man kann direkt sagen "Diese App immer verwenden". Ist das einmal angeklickt worden, behält das die App auch und öffnet danach immer direkt den Email Client mit den entsprechenden Daten.
 
Hallo Mika,

sieht auf den Ersten blick machbar aus. Danke für den EInblick

Ich habe dir eine PN mit meinen Daten geschickt.
Man kann mich ja ggf Kontaktieren
[doublepost=1485087392,1485087309][/doublepost]Hallo Lord,

danke für das Feedback ...
Also ist der String der entscheiden Knackpunkt , um due Abfrage nach der Standardapp zu bekommen ?
 
Oh, sorry das ich den Thread hier so voll gepammt habe.
Ich frage meinen Kollegen nochmal und gebe die Daten dann gerne weiter.
 
@swa00 Der Knackpunkt war wohl der noch zusätzlich eingebundene Chooser. Ich habe diesen weggelassen, danach sieht das Menü anders aus welches auftaucht und man hat wie gesagt diese zwei Optionen "nur dieses mal verwenden" und "immer verwenden". Das löst mein Problem mit dem "Standard-Mail-Programm" finden, da der User selbst entscheiden kann, wie er es nutzen möchte.
[doublepost=1485087612,1485087589][/doublepost]@Micka Macht doch nix. :D
 

Ähnliche Themen

R
  • Robby1950
2
Antworten
23
Aufrufe
954
Robby1950
R
MES
Antworten
10
Aufrufe
787
MES
MES
A
  • AnimaAngelo85
Antworten
1
Aufrufe
313
swa00
swa00
Zurück
Oben Unten