| |||||||
Das Thema "E-Mail aus App versenden" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Android-Hilfe.de Mitglied Modell: Samsung Galaxy S (I9000) Registriert seit: 20.01.2010
Beiträge: 171
Abgegebene Danke: 19
Erhielt 28 Danke für 22 Beiträge
| 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 (permalink) |
| Erfahrener Benutzer Modell: HTC Magic, Flytouch 2, Motorola Flipout, SE Xperia X10i, HTC Desire Z, SE Xperia Play, SE Mini Pro Registriert seit: 12.01.2010
Beiträge: 255
Abgegebene Danke: 16
Erhielt 41 Danke für 39 Beiträge
|
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.
__________________ Meine Apps ... |
| | |
| Folgender Benutzer bedankt sich bei miha für diesen Beitrag: | Cheater (14.06.2011) |
| | #4 (permalink) |
| Neuer Benutzer Modell: HTC Wildfire S Registriert seit: 27.05.2011
Beiträge: 6
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
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 ); |
| | |
| Folgender Benutzer bedankt sich bei talky für diesen Beitrag: | Cheater (22.06.2011) |
| | #5 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 24.01.2011
Beiträge: 80
Abgegebene Danke: 34
Erhielt 1 Danke für 1 Beitrag
|
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. ![]() 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>... 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;
}
} 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();
}
} ) ;
}
} Code: ... import android.text.Html; ... emailIntent.putExtra (android.content.Intent.EXTRA_TEXT , Html.fromHtml(Html.toHtml(emailtext.getText()))); ... Code: <string name="email_text">Lorem Ipsum <a href="http://www.google.de">Link</a></string> 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> Getestet hab ich es mit der Android-Version 2.2 (API 8). Ich hoffe ich konnte damit jemandem weiterhelfen. ![]() Liebe Grüße, pyretta Geändert von pyretta (18.04.2012 um 14:49 Uhr) |
| | |
| Folgender Benutzer bedankt sich bei pyretta für diesen Beitrag: | keinbrain (18.04.2012) |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Foto per Mail versenden | Kolben | Samsung Galaxy S (I9000) Forum | 1 | 22.05.2011 19:21 |
| E-Mail senden aus App | Natureshadow | Android App Entwicklung | 7 | 21.02.2011 22:32 |
| Kann keine Mail versenden mit Google Mail | hope13 | Kommunikation | 4 | 12.02.2011 21:51 |
| Strings direkt per Mail versenden | plex88 | Android App Entwicklung | 6 | 23.12.2010 09:34 |
| .mp3`s per Mail versenden | MightyMee | Motorola Milestone Forum | 2 | 18.03.2010 15:45 |