1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Cheater, 13.06.2011 #1
    Cheater

    Cheater Threadstarter Erfahrener Benutzer

    Hi Leute,

    Ich habe mal wieder ein Problem. Folgendes möchte ich erreichen: Wenn auf einen bestimmten Button geklickt wird, soll eine E-Mail an einer bestimmte Adresse geschickt werden.

    Im Moment mache ich das so:

    final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "blabla@bla.bla");
    startActivity(Intent.createChooser(emailIntent, "Send mail..."));

    Allerdings wird "blabla@bla.bla" nicht als Empfänger in der Google Mail App gesetzt, wenn ich diese ausgewählt habe. Weiß einer, wo da der Fehler liegt?

    Und kann mir jemand sagen, ob es möglich ist, eine Mail ohne zutun des User zu versenden? Im Moment muss er ja noch auswählen, mit welcher App die Mail geschickt wird, aber ich würde die Mail lieber irgendwie automatisch senden. Geht das?
     
  2. miha, 13.06.2011 #2
    miha

    miha Fortgeschrittenes Mitglied

    Email ohne Android/Intent:
    Ich mache das in meiner MobileWebCam App mit JavaMail. Ich hatte irgendwie größere Schwierigkeiten mit den Libs und noch größere mit Proguard (ohne das mir die App zu groß wurde) aber irgendwann habe ich es hinbekommen - hatte auch irgendwo schonmal dazu gepostet.
     
    Cheater gefällt das.
  3. Cheater, 14.06.2011 #3
    Cheater

    Cheater Threadstarter Erfahrener Benutzer

    Danke, ich werde mir JavaMail aufjedenfall nochmal anschauen.
     
  4. talky, 20.06.2011 #4
    talky

    talky Neuer Benutzer

    Der Fehler in Deinem Beispiel scheint mir zu sein, dass der Empfänger ein String Array ist:

    Code:
    String[] recipients = new String[]{ "blabla@email.de" };
    emailIntent.putExtra( android.content.Intent.EXTRA_EMAIL, recipients );
    So sollte es funktionieren.
     
    Cheater gefällt das.
  5. pyretta, 18.04.2012 #5
    pyretta

    pyretta Android-Hilfe.de Mitglied

    Hallo,

    der Beitrag hier ist zwar schon etwas älter, aber da ich mich auch gerade damit beschäftigt habe, dachte ich, ich poste mal meine Lösung.

    Man muss ja nicht immer nur Fragen stellen, man kann ja auch mal Antworten geben. :biggrin:

    Also ich habe die Sache so gelöst
    (man muss das nicht genau so machen, ist nur ein Beispielweg den ich eben gegangen bin.):

    Von meiner Main.java rufe ich die EMail.java als Dialog auf. (muss man aber nicht)

    Wenn man das so möchte, muss man zunächst der Activity EMail.java im Manifest ein Theme zuweisen:

    Code:
    ...<activity 
    android:name=".EMail"
    android:theme="@android:style/Theme.Dialog">
    </activity>...
    
    Dann ganz normal in der Main.java die EMail.java per Intent aufrufen (in dem Layout muss natürlich ein entsprechender Button angelegt sein):

    Code:
    Button email = (Button) findViewById(R.id.emailbutton);
    email.setOnClickListener (new OnClickListener (){
    @Override
    public void onClick ( View v ) {
    switch (v.getId()) {
            case R.id.app_empfehlen:
                Intent email = new Intent(this, EMail.class);
                startActivity(email);
                break;
            }
    }
    
    Die EMail.java sieht wie folgt aus:

    Code:
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.text.Html;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class EMail extends Activity {
    
    private EditText address;
    private EditText subject;
    private EditText emailtext;
    private Button send;
    
    @Override
    public void onCreate (Bundle savedInstanceState) {
    super.onCreate (savedInstanceState);
    setContentView(R.layout.email);
    
    address =(EditText) findViewById (R.id.emailaddress);
    subject=(EditText) findViewById (R.id.emailsubject);
    subject.setText(R.string.email_subject); //hier definiere ich den Betreff der E-Mail, muss man aber nicht. Wenn man das nicht möchte, einfach weglassen.
    emailtext=(EditText) findViewById (R.id.emailtext);
    emailtext.setText(R.string.email_text); //hier geb ich der E-Mail schonmal einen vorgefertigten Text mit, muss man aber nicht. Wenn man das nicht möchte, einfach weglassen.
    
    //beides kann aber vom User bearbeitet werden, da es sich weiterhin um ein EditText handelt
    
    send=(Button) findViewById(R.id.emailsendbutton);
    send.setOnClickListener (new OnClickListener (){
    @Override
    public void onClick ( View v ) {
    // TODO Auto-generated method stub
    final Intent emailIntent = new Intent (android.content.Intent.ACTION_SEND) ;
    emailIntent.setType ("text/html") ;
    emailIntent.putExtra (android.content.Intent.EXTRA_EMAIL , new String [] {address.getText().toString()});
    emailIntent.putExtra (android.content.Intent.EXTRA_SUBJECT , subject.getText().toString());
    emailIntent.putExtra (android.content.Intent.EXTRA_TEXT , Html.fromHtml(Html.toHtml(emailtext.getText())));
    EMail.this.startActivity (Intent.createChooser(emailIntent,"E-Mail senden..."));
    finish();
    }
    } ) ;
    }
    } 
    
    In diesem Fall, kann man den E-Mail-Text als HTML-fortmatierten Text ausgeben, um z.B. einen Link mitzugeben. Das macht man mit folgendem Code:

    Code:
    ...
    import android.text.Html;
    ...
    emailIntent.putExtra (android.content.Intent.EXTRA_TEXT , Html.fromHtml(Html.toHtml(emailtext.getText())));
    ...
    
    Dann kann man folgendes in der strings.xml hinterlegen, und es wird in der E-Mail als funktionierenden Link ausgegeben:

    Code:
    <string name="email_text">Lorem Ipsum <a href="http://www.google.de">Link</a></string>
    
    Das Layout (email.xml) der EMail.java, sieht wie folgt aus: (auch das nur als Beispiel)

    Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    
    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="10dip">
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Empfänger:"
        android:layout_marginBottom="10dip"
        />
    <EditText 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:lines="1"
    android:id="@+id/emailaddress" <!-- wichtig -->
    android:hint="empfaenger@provider.de" <!-- sollte man machen, wenn das Feld nicht vorbelegt ist -->
    android:inputType="textEmailAddress" <!-- wichtig -->
    android:layout_marginBottom="10dip"> </EditText>
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Betreff:"
        android:layout_marginBottom="10dip"
        />
    <EditText 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/emailsubject" <!-- wichtig -->
    android:inputType="textEmailSubject" <!-- wichtig -->
    android:lines="1"
    android:layout_marginBottom="10dip"></EditText>
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Nachricht:"
        android:layout_marginBottom="10dip"
        />
    <EditText 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:id="@+id/emailtext" <!-- wichtig -->
    android:inputType="textMultiLine" 
    android:layout_marginBottom="10dip"> </EditText>
    <Button 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/emailsendbutton"
    android:text="Senden"
    android:width="150dip">  </Button>
    </LinearLayout> 
    </ScrollView>
    
    So. Damit hat es (zumindest bei mir) ausgezeichnet funktioniert.
    Getestet hab ich es mit der Android-Version 2.2 (API 8).

    Ich hoffe ich konnte damit jemandem weiterhelfen. :smile:

    Liebe Grüße,
    pyretta
     
    Zuletzt bearbeitet: 18.04.2012
    keinbrain gefällt das.
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Android app selber entwickeln mit Bluetooth Android App Entwicklung Freitag um 12:01 Uhr
[ERLEDIGET] App über href starten Android App Entwicklung 28.09.2017
[OFFEN] Kostenpflichtige App für Beta-Test hochladen Android App Entwicklung 13.09.2017
[OFFEN] App startet nicht... Android App Entwicklung 10.09.2017
[OFFEN] Sind Notifications in einer Webview App möglich? Android App Entwicklung 10.09.2017
[OFFEN] Möchte eine App für Entrümpelungen entwickeln. Android App Entwicklung 08.09.2017
[ERLEDIGT] Alpha-Version meiner App nicht mit S8 kompatibel Android App Entwicklung 06.09.2017
[ERLEDIGT] Verbindung zu MS SQL DB von App aus möglich? Android App Entwicklung 05.09.2017
[OFFEN] App schließt nach Öffnen sofort Android App Entwicklung 04.09.2017
[ERLEDIGT] MIT APP Inventor paralleler Tastendruck Android App Entwicklung 23.08.2017

Users found this page by searching for:

  1. android email aus eigene app verschicken

    ,
  2. App programmieren send to E-Mail-Adresse html

    ,
  3. e mail mit app versenden

    ,
  4. Android developer e-mail verschicken,
  5. android Intent.EXTRA_HTML_TEXT,
  6. android intent email,
  7. android praogrammatisch email senden,
  8. e-mail versenden Android,
  9. android java email versenden,
  10. eclipse app mail senden,
  11. Android intent email senden,
  12. mail-app android verse,
  13. android intent email versenden,
  14. android app email versenden,
  15. vorgefertigten text Android mail
Du betrachtest das Thema "E-Mail aus App versenden" im Forum "Android App Entwicklung",