studio intents intent common code action_view android email android-intent

android - intents - ACTION_SENDTO para enviar un correo electrónico



intent send android (3)

Estoy experimentando la condición de error "Esta acción no es compatible actualmente" cuando se ejecuta el siguiente fragmento de código en Android 2.1. ¿Qué hay de malo con el fragmento?

public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_SENDTO); Uri uri = Uri.parse("mailto:[email protected]"); intent.setData(uri); intent.putExtra("subject", "my subject"); intent.putExtra("body", "my message"); startActivity(intent); }


De hecho, encontré una forma en que funcionan los EXTRA. Esta es una combinación de una respuesta que encontré aquí con respecto a ACTION_SENDTO

http://www.coderanch.com/t/520651/Android/Mobile/no-application-perform-action-when

y algo para HTML que encontré aquí:

Cómo enviar un correo electrónico HTML (pero la variante de cómo usar ACTION_SENDTO en esta publicación HTML no funcionó para mí, recibí la "acción no compatible" que está viendo)

// works with blank mailId - user will have to fill in To: field String mailId=""; // or can work with pre-filled-in To: field // String mailId="[email protected]"; Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto",mailId, null)); emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject text here"); // you can use simple text like this // emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,"Body text here"); // or get fancy with HTML like this emailIntent.putExtra( Intent.EXTRA_TEXT, Html.fromHtml(new StringBuilder() .append("<p><b>Some Content</b></p>") .append("<a>http://www.google.com</a>") .append("<small><p>More content</p></small>") .toString()) ); startActivity(Intent.createChooser(emailIntent, "Send email..."));


Puedes probar este

Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( "mailto", emailID, null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, Subject); emailIntent.putExtra(Intent.EXTRA_TEXT, Text); startActivity(Intent.createChooser(emailIntent, Choosertitle);

Esto funciona para mi


Si usa ACTION_SENDTO , putExtra() no funciona para agregar el asunto y el texto a la intención. Use setData() y la herramienta Uri agregue tema y texto.

Este ejemplo funciona para mí:

// ACTION_SENDTO filters for email apps (discard bluetooth and others) String uriText = "mailto:[email protected]" + "?subject=" + Uri.encode("some subject text here") + "&body=" + Uri.encode("some text here"); Uri uri = Uri.parse(uriText); Intent sendIntent = new Intent(Intent.ACTION_SENDTO); sendIntent.setData(uri); startActivity(Intent.createChooser(sendIntent, "Send email"));