En este artículo, creará una aplicación básica de Android que se puede usar para enviar correos electrónicos a través de su aplicación de Android.
Puede hacerlo con la ayuda de Intent with action como ACTION_SEND con campos adicionales:
- ID de correo electrónico al que desea enviar el correo,
- asunto del correo electrónico y
- cuerpo del correo electrónico .
Básicamente , Intent es un objeto de mensaje simple que se usa para comunicarse entre componentes de Android, como actividades, proveedores de contenido, receptores de transmisión y servicios , aquí se usa para enviar el correo electrónico.
Esta aplicación básicamente contiene una actividad con EditText para ingresar la dirección de correo electrónico, el asunto y el cuerpo del correo electrónico del usuario y el botón para enviar ese correo electrónico.
- Paso 1. activity_main.xml
activity_main.xml contiene un diseño relativo que contiene tres textos de edición para la identificación del correo del destinatario, otro para el asunto del correo y el último para el cuerpo del correo electrónico y tres vistas de texto para la etiqueta y un botón para comenzar intención o envío de correo:actividad_principal.xml
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<!--Relative Layout-->
<
RelativeLayout
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
tools:context
=
".MainActivity"
>
<!--Edit text for email id-->
<
EditText
android:id
=
"@+id/editText1"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_alignParentRight
=
"true"
android:layout_alignParentTop
=
"true"
android:layout_marginRight
=
"22dp"
android:layout_marginTop
=
"18dp"
/>
<!--Edit text for email subject-->
<
EditText
android:id
=
"@+id/editText2"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_below
=
"@+id/editText1"
android:layout_alignLeft
=
"@+id/editText1"
android:layout_marginTop
=
"20dp"
/>
<!--Edit text for email body-->
<
EditText
android:id
=
"@+id/editText3"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_marginTop
=
"30dp"
android:layout_below
=
"@+id/editText2"
android:layout_alignLeft
=
"@+id/editText2"
/>
<!--text Views for label-->
<
TextView
android:id
=
"@+id/textView1"
android:textColor
=
"#0F9D58"
android:text
=
"Send To:"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_alignBaseline
=
"@+id/editText1"
android:layout_alignBottom
=
"@+id/editText1"
android:layout_alignParentLeft
=
"true"
/>
<
TextView
android:id
=
"@+id/textView2"
android:textColor
=
"#0F9D58"
android:text
=
"Email Subject:"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_alignBaseline
=
"@+id/editText2"
android:layout_alignBottom
=
"@+id/editText2"
android:layout_alignParentLeft
=
"true"
/>
<
TextView
android:id
=
"@+id/textView3"
android:textColor
=
"#0F9D58"
android:text
=
"Email Body:"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_alignBaseline
=
"@+id/editText3"
android:layout_alignBottom
=
"@+id/editText3"
/>
<!--Button to send email-->
<
Button
android:id
=
"@+id/button"
android:text
=
"Send email!!"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_alignLeft
=
"@+id/editText3"
android:layout_below
=
"@+id/editText3"
android:layout_marginLeft
=
"76dp"
android:layout_marginTop
=
"20dp"
/>
</
RelativeLayout
>
- Paso 2. MainActivity.java
En la actividad principal, se crea el objeto Intent y su acción se define en ACTION_SEND para enviar correo electrónico, con Intent también se agregan tres campos adicionales usando la función putExtra. Estos campos son:- Correo electrónico del receptor
- Asunto del correo electrónico
- Cuerpo de correo electrónico
setOnClickListener se adjunta al botón con el objeto de intención para hacer la intención con acción como ACTION_SEND para enviar correo electrónico y el tipo de intención como se muestra en el código.
Aquí está el código completo de Java para enviar un correo electrónico a través de la intención de la aplicación de Android:
MainActivity.java
package
com.geeksforgeeks.phonecall;
import
android.os.Bundle;
import
android.support.v7.app.AppCompatActivity;
import
android.content.Intent;
import
android.widget.EditText;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.net.Uri;
import
android.widget.Button;
public
class
MainActivity
extends
AppCompatActivity {
// define objects for edit text and button
Button button;
EditText sendto, subject, body;
@Override
protected
void
onCreate(Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Getting instance of edittext and button
sendto = findViewById(R.id.editText1);
subject = findViewById(R.id.editText2);
body = findViewById(R.id.editText3);
button = findViewById(R.id.button);
// attach setOnClickListener to button
// with Intent object define in it
button.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View view)
{
String emailsend = sendto.getText().toString();
String emailsubject = subject.getText().toString();
String emailbody = body.getText().toString();
// define Intent object
// with action attribute as ACTION_SEND
Intent intent =
new
Intent(Intent.ACTION_SEND);
// add three fiels to intent using putExtra function
intent.putExtra(Intent.EXTRA_EMAIL,
new
String[] { emailsend });
intent.putExtra(Intent.EXTRA_SUBJECT, emailsubject);
intent.putExtra(Intent.EXTRA_TEXT, emailbody);
// set type of intent
intent.setType(
"message/rfc822"
);
// startActivity with intent with chooser
// as Email client using createChooser function
startActivity(
Intent
.createChooser(intent,
"Choose an Email client :"
));
}
});
}
}
Producción:
Publicación traducida automáticamente
Artículo escrito por Rishabh007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA