Quiero configurar una parte de mi aplicación que permita a los usuarios enviar un correo electrónico rápido a otro usuario. No es muy difícil de configurar esto:Cómo abrir el programa de correo electrónico a través de Intents (pero solo un programa de correo electrónico)
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, message);
Intent mailer = Intent.createChooser(intent, null);
startActivity(mailer);
Sin embargo, el problema es que el ACTION_SEND es aceptada por más que programas de correo electrónico - por ejemplo, en mi teléfono la aplicación de Facebook, Twitter, Reddit es divertido, y incluso Bluetooth aparece como alternativas viables para enviar este mensaje. El mensaje es demasiado extenso para algunos de ellos (especialmente Twitter).
¿Hay alguna manera de limitar el selector a solo las aplicaciones que admiten mensajes largos (como el correo electrónico)? ¿O hay una forma de detectar la aplicación que el usuario ha elegido y ajustar el mensaje de forma adecuada?
Me pregunto cómo la clase Linkify decide qué abrir para los enlaces de mailto. Tal vez verifique el código fuente de Linkify y publique sus hallazgos. – Pentium10
Buena llamada: lo verificaré y le diré si encuentro algo de interés. –
Gracias otra vez Pentium10, buena sugerencia sobre cómo Linkify hace las cosas. –