Frage von RaceShafter, 37

Wie kann man in Java ein Mail Programm öffnen?

Möchte via Java in Android Studio ein Mail Programm öffnen lassen.

Antwort
von MalNachgedacht, 19

Wo soll das Mail-Programm geöffnet werden - auf dem PC auf dem Android Studio läuft oder auf dem Android-Device in dem die App läuft die Du mit Android Studio entwickelst?

Kommentar von RaceShafter ,

Auf dem Handy aus der App heraus.

Kommentar von MalNachgedacht ,
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/html");
intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");

startActivity(Intent.createChooser(intent, "Send Email"));
Kommentar von RaceShafter ,

Funktioniert bei mir irgendwie nicht. Ich bekomme einen Fehler.

Method invocation 'fab.setOnClickListener(new View.OnClickListener() { @Override public void on...' may produce 'java.lang.NullPointerException'

Code:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/html");
intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");

startActivity(Intent.createChooser(intent, "Send Email"));
}
});
}


Kommentar von MalNachgedacht ,

e Warnung wg. NullPointerException dürfte vermutlich mit den beiden Zeilen zu tun haben:

 FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {

Es könnte ja sein, dass findViewById() gar keinen view mit der angebenen id findet - weil diese id im Layout-XML-file der Activity gar nicht auftaucht.

findViewById() liefert in solchen Fällen null zurück - entsprechend könnte es dann (theoretisch) sein, das fab==null ist.

Und damit fab.setOnClickListener() fehlschlägt.

Das sollte helfen:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);

if (fab==null){
return;
}
fab.setOnClickListener(new View.OnClickListener() {

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten