startactivity start method intent for example cannot android android-intent

android - method - startactivityforresult fragment



¿cómo podemos usar startActivityforResult() para la intención de Email? (2)

Estoy usando la intención de enviar un correo electrónico con un archivo adjunto, funciona bien, quiero obtener este resultado de intento de correo electrónico, ya utilicé startActivityforResult() , pero no puedo obtener resultados para la intención del correo electrónico, ¿cómo podemos usar startActivityforResult() para Intento de correo electrónico?

Gracias a todos


No puedes, esto no es parte de la API. Se devuelve una vez que haya presionado el botón de enviar, incluso si no se envía


Tu puedes, pero es feo y poco elegante. Trabajaré en suavizar esto. El problema principal: después de enviar el correo electrónico, termina en una pantalla negra con nada más que el título de la aplicación en la parte superior.

Haré un ''hit enter para continuar'' o algo si es necesario.

De todos modos: El primer fragmento de la clase principal escribe el informe en sdcard, luego llama a la actividad que enviará el correo electrónico.

WriteReportToStorage(); Intent Emailreport = new Intent(bvsactivity.this, Emailreport.class); startActivityForResult(Emailreport,emailreport_ran);

A continuación, en la clase de informe de correo electrónico, hacemos el correo electrónico estándar + código de envío de datos adjuntos:

public class Emailreport extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Intent email = new Intent(android.content.Intent.ACTION_SEND); email.setType("text/html "); email.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject"); email.putExtra(android.content.Intent.EXTRA_TEXT, "body"); email.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file:/" + Environment.getExternalStorageDirectory() + "//Report.html")); startActivity(Intent.createChooser(email, "Email:")); }

Por último, en la clase ''principal'', el resultado de onactivity que elimina el archivo de la tarjeta SD:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { // Actions based on which menu item we chose. if (requestCode == emailreport_ran) {boolean deleted = reportfile.delete(); emailreport_ran = 1;} } }