www una sesion iniciar gws_rd google etiqueta cuenta crear creado correo como cel buscar abrir android

android - una - gmail iniciar sesion en cel



URI intencionado para iniciar la aplicaciĆ³n de Gmail (13)

Prueba esto

He intentado con muchas soluciones, pero finalmente obtuve una forma correcta que funciona bien para mí

try { Intent intent = new Intent (Intent.ACTION_VIEW , Uri.parse("mailto:" + "[email protected]")); intent.putExtra(Intent.EXTRA_SUBJECT, "your_subject"); intent.putExtra(Intent.EXTRA_TEXT, "your_text"); startActivity(intent); } catch(Exception e) { Toast.makeText(Share.this, "Sorry...You don''t have any mail app", Toast.LENGTH_SHORT).show(); e.printStackTrace(); }

Nota

  • Esto abrirá su aplicación de correo instalada ( correo electrónico , Gmail ) para enviar correos en los que puede seleccionar uno de ellos.
  • No use el nombre del paquete directo como ("com.google.android.gm") porque en el futuro si cambian el nombre del paquete, su aplicación tendrá problemas.

¿Hay algún URI que pueda apuntar a la aplicación GMAIL en Android y ayudarme a lanzarlo?


Esta respuesta es antigua, pero aún aparece en la Búsqueda de Google en primera posición.

Por lo tanto, a partir de la documentación de Android, la mejor manera de hacer esto ahora es:

public void composeEmail(String[] addresses, String subject, Uri attachment) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("*/*"); intent.putExtra(Intent.EXTRA_EMAIL, addresses); intent.putExtra(Intent.EXTRA_SUBJECT, subject); intent.putExtra(Intent.EXTRA_STREAM, attachment); if (intent.resolveActivity(getPackageManager()) != null) { startActivity(intent); }

}

Más información se puede encontrar here


Este truco funciona para TODA la versión (API 3+), así como para texto / simple o texto / html (por sonida ):

Intent intent = new Intent(android.content.Intent.ACTION_SEND); intent.setType("text/html"); // intent.setType("text/plain"); final PackageManager pm = getPackageManager(); final List<ResolveInfo> matches = pm.queryIntentActivities(intent, 0); ResolveInfo best = null; for (final ResolveInfo info : matches) { if (info.activityInfo.packageName.endsWith(".gm") || info.activityInfo.name.toLowerCase().contains("gmail")) { best = info; break; } } if (best != null) { intent.setClassName(best.activityInfo.packageName, best.activityInfo.name); } intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "YOUR SUBJECT"); intent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("YOUR EXTRAS")); startActivity(intent);


Esto funciona para intentar solo la aplicación de Gmail.

Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.setType("plain/text"); sendIntent.setData(Uri.parse("[email protected]")); sendIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail"); sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); sendIntent.putExtra(Intent.EXTRA_SUBJECT, "test"); sendIntent.putExtra(Intent.EXTRA_TEXT, "hello. this is a message sent from my demo app :-)"); startActivity(sendIntent);

utilizar para muchos correos electrónicos:

sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" });

para correos electrónicos individuales:

sendIntent.setData(Uri.parse("[email protected]"));

Puede agregar extra putExtra(Intent.EXTRA..) y cambiar el setType para su propósito. :PAG

Actualización (22/01/14): es importante tener en cuenta que si va a utilizar este código, verifique que el usuario tenga instalado el paquete "com.google.android.gm" en su dispositivo. En cualquier idioma, asegúrese de comprobar nulo en cadenas e inicializaciones específicas.

Por favor, vea Iniciar una aplicación desde otra aplicación en Android


Estoy usando esto en mis aplicaciones:

Intent mailClient = new Intent(Intent.ACTION_VIEW); mailClient.setClassName("com.google.android.gm", "com.google.android.gm.ConversationListActivity"); startActivity(mailClient);


Funciona.

Intent intent = new Intent(Intent.ACTION_SEND); String[] strTo = { getString(R.string.mailto) }; intent.putExtra(Intent.EXTRA_EMAIL, strTo); intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.mail_subject)); intent.putExtra(Intent.EXTRA_TEXT, getString(R.string.mail_body)); Uri attachments = Uri.parse(image_path); intent.putExtra(Intent.EXTRA_STREAM, attachments); intent.setType("message/rfc822"); intent.setPackage("com.google.android.gm"); startActivity(intent);


Más tarde, los requisitos cambiaron para iniciar una "aplicación de correo electrónico", por lo que el siguiente código básicamente inicia una aplicación de correo electrónico y el usuario tiene que elegir entre las opciones que aparecen.

Entonces, tuve que usar

Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("plain/text"); intent.putExtra(Intent.EXTRA_SUBJECT, "Emailing link"); intent.putExtra(Intent.EXTRA_TEXT, "Link is /n" + "This is the body of hte message"); startActivity(Intent.createChooser(intent, ""));


No hay Intent documentada y compatible para iniciar Gmail, ¡lo siento!


No se recomienda usar el nombre del paquete ya que es un método no documentado. En caso de que el nombre del paquete cambie algún día, el código fallará.

Pruebe este código en su lugar

Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( "mailto", "[email protected]", null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "This is my subject text"); context.startActivity(Intent.createChooser(emailIntent, null));

Ref: http://developer.android.com/reference/android/content/Intent.html#ACTION_SENDTO /


Sí, es código de trabajo perfectamente ...

Intent intent = new Intent(Intent.ACTION_SEND); String[] strTo = { "[email protected]" }; intent.putExtra(Intent.EXTRA_EMAIL, strTo); intent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); intent.putExtra(Intent.EXTRA_TEXT, "Body"); intent.setType("message/rfc822"); intent.setPackage("com.google.android.gm"); startActivity(intent);


Simple y 100% funcional

Intent intent = new Intent (Intent.ACTION_SEND); intent.setType("message/rfc822"); intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); intent.putExtra(Intent.EXTRA_SUBJECT, "Any subject if you want"); intent.setPackage("com.google.android.gm"); if (intent.resolveActivity(getPackageManager())!=null) startActivity(intent); else Toast.makeText(this,"Gmail App is not installed",Toast.LENGTH_SHORT).show();


Utilizar esta:

Intent intent = getPackageManager().getLaunchIntentForPackage("com.google.android.gm"); startActivity(intent);

Esto podría depender del dispositivo y del nivel de API. Use con cuidado.


Verifique el siguiente código para abrir automáticamente el compositor de correo predeterminado.

try { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_APP_EMAIL); context.startActivity(intent); } catch (android.content.ActivityNotFoundException anfe) { handleException(); }