Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Enviar correo electrónico a través de gmail

Tengo un código de los incendios intención de enviar correo electrónico

Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(Intent.EXTRA_EMAIL, new String[] { to }); i.putExtra(Intent.EXTRA_SUBJECT, subject); i.putExtra(Intent.EXTRA_TEXT, msg); try { startActivity(Intent.createChooser(i, "Send mail...")); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(Start.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show(); } 

Pero cuando esta intención se disparó veo muchos elementos en la lista como la aplicación sms, la aplicación de Gmail, la aplicación de Facebook y así sucesivamente.

  • Android: Enviar correo electrónico con datos adjuntos automáticamente en segundo plano
  • Intención de iniciar una actividad de navegación
  • Cómo enviar correo electrónico HTML
  • Envío de correo electrónico desde la aplicación de Android al hacer clic en el botón
  • Solo aplicaciones de correo electrónico para resolver una intención
  • ¿Cómo enviar un archivo grande o varios archivos a otras aplicaciones, y saber cuándo eliminarlas?
  • ¿Cómo puedo filtrar esto y activar sólo la aplicación de Gmail (o quizás sólo aplicaciones de correo electrónico)?

  • Android: cómo abrir una vista de compositor de correo?
  • Data.getExtras (). Get ("data") resultado de la imagen de baja resolución en android
  • Intentos de Android para abrir el navegador preferido del usuario
  • Cómo agregar una imagen en el cuerpo del correo electrónico
  • Cómo enviar un correo electrónico con un archivo adjunto en Android
  • Uso de sendBroadcast ()
  • 6 Solutions collect form web for “Enviar correo electrónico a través de gmail”

    Use android.content.Intent.ACTION_SENDTO ( new Intent(Intent.ACTION_SENDTO); ) para obtener sólo la lista de clientes de correo electrónico, sin Facebook ni otras aplicaciones. Sólo los clientes de correo electrónico.

    No sugeriría que usted consiga directamente a la aplicación del email. Deje que el usuario elija su aplicación de correo electrónico favorito. No lo obligue.

    Si utiliza ACTION_SENDTO, putExtra no funciona para agregar el asunto y el texto a la intención. Utilice Uri para agregar el texto del sujeto y del cuerpo.

    Ejemplo

     Intent send = new Intent(Intent.ACTION_SENDTO); String uriText = "mailto:" + Uri.encode("email@gmail.com") + "?subject=" + Uri.encode("the subject") + "&body=" + Uri.encode("the body of the message"); Uri uri = Uri.parse(uriText); send.setData(uri); startActivity(Intent.createChooser(send, "Send mail...")); 

    La respuesta aceptada no funciona 4.1.2. Esto debería funcionar en todas las plataformas:

     Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( "mailto","abc@gmail.com", null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "EXTRA_SUBJECT"); startActivity(Intent.createChooser(emailIntent, "Send email...")); 

    Espero que esto ayude.

    La respuesta de Igor Popov es 100% correcta, pero en caso de que desee una opción alternativa, utilizo este método:

     public static Intent createEmailIntent(final String toEmail, final String subject, final String message) { Intent sendTo = new Intent(Intent.ACTION_SENDTO); String uriText = "mailto:" + Uri.encode(toEmail) + "?subject=" + Uri.encode(subject) + "&body=" + Uri.encode(message); Uri uri = Uri.parse(uriText); sendTo.setData(uri); List<ResolveInfo> resolveInfos = getPackageManager().queryIntentActivities(sendTo, 0); // Emulators may not like this check... if (!resolveInfos.isEmpty()) { return sendTo; } // Nothing resolves send to, so fallback to send... Intent send = new Intent(Intent.ACTION_SEND); send.setType("text/plain"); send.putExtra(Intent.EXTRA_EMAIL, new String[] { toEmail }); send.putExtra(Intent.EXTRA_SUBJECT, subject); send.putExtra(Intent.EXTRA_TEXT, message); return Intent.createChooser(send, "Your Title Here"); } 

    Esto se cita de Android oficial doc, lo he probado en Android 4.4, y funciona perfectamente. Vea más ejemplos en https://developer.android.com/guide/components/intents-common.html#Email

      public void composeEmail(String[] addresses, String subject) { Intent intent = new Intent(Intent.ACTION_SENDTO); intent.setData(Uri.parse("mailto:")); // only email apps should handle this intent.putExtra(Intent.EXTRA_EMAIL, addresses); intent.putExtra(Intent.EXTRA_SUBJECT, subject); if (intent.resolveActivity(getPackageManager()) != null) { startActivity(intent); } } 

    Reemplazar

     i.setType("text/plain"); 

    con

     // need this to prompts email client only i.setType("message/rfc822"); 
     Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( "mailto","opinions@gmail.com.com", null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "IndiaTV News - Mobile App Feedback"); emailIntent.putExtra(Intent.EXTRA_TEXT,Html.fromHtml(Settings.this.getString(R.string.MailContent))); startActivityForResult(Intent.createChooser(emailIntent, "Send email..."),0); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.