2010-09-23 13 views

Respuesta

12

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

+0

Quiero eliminar imágenes adjuntas en sdcard después de enviar un correo electrónico, cómo realizar esta tarea, por favor, dé algunos consejos para mí ... – sivaraj

+0

No creo que haya ningún consejo para hacer eso, las actividades de correo electrónico no soldado americano Tiene alguna pista sobre cuándo se envió el correo electrónico. – fedj

+0

@ok fedj, quiero enviar un correo electrónico con adjuntar una imagen, esa imagen no se almacenó en una tarjeta SD, ¿cómo puedo adjuntar y enviar un correo electrónico al usuario? – sivaraj

-2

Puede, pero es feo y poco elegante. Trabajaré en suavizar esto. El principal problema: después de que se envía 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 'presionar enter para continuar' o algo si es necesario.

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

WriteReportToStorage(); 

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

A continuación, otra vez en la clase emailreport que haga el estándar de código de correo + apego envío:

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, de vuelta en su clase 'principal', la onActivityResult que borra el archivo sdcard:

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;} 
     } 
} 
+0

Esto obtiene un rendimiento de la actividad, pero sin confirmación de si el correo electrónico se envió o no. Ni siquiera si fue cancelado de inmediato. El OP dijo específicamente que ya lo hizo, y que quería obtener un código de resultado válido en su lugar. – zeh

Cuestiones relacionadas