2011-04-25 63 views
9

Estoy haciendo una aplicación en la que voy a proporcionar una función de comentarios a mis clientes. Para lograr esto, he creado un pequeño cuadro de diálogo donde el usuario puede ingresar sus comentarios y enviarlos a mi ID de correo. Probé algunos fragmentos de código que encontré en Internet, pero cada vez que intento enviar un correo electrónico desde el emulador o el dispositivo real, obtengo un error "Ninguna aplicación puede realizar esta acción".Android: ¿recibe un error "ninguna aplicación puede realizar esta acción" al intentar enviar un correo electrónico?

Aquí está mi código: -

public void emailDialog() 
{ 
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); 
    alertDialog.setTitle("Feedback"); 
    alertDialog.setMessage("Please tell us that what you feel about our product. If you are facing any problem or found any bug then please report to us. Your review is important to us. Thanks!!"); 
    final EditText input = new EditText(this); 
    input.setLines(8); 
    alertDialog.setView(input); 
    alertDialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      String value = input.getText().toString(); 
      String address = "[email protected]"; 
      String subject = "FeedBack"; 
      final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
      emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, address); 
      emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
      emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, value); 
      CompleteTaskManager.this.startActivity(Intent.createChooser(emailIntent, "Send Email..")); 
     } 
    }); 
    alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
     // Canceled. 
     } 
    }); 
alertDialog.show(); 
} 

por favor ayuda.

+0

Pude entender que lo obtuviera en el emulador, que puede no tener una aplicación de correo electrónico. Sin embargo, en un dispositivo eso es desconcertante. ¿Podría verificar con LogCat que es el mismo error en el dispositivo y el emulador? –

+0

@Jim sí, eso es lo que me pregunto. Pensé que era porque mi emulaotr no tenía una aplicación de correo electrónico, pero cuando lo probé en un dispositivo real, me estaba provocando el mismo error y lo extraño es que mi aplicación de correo electrónico está completamente configurada y es funcional en mi dispositivo y todavía estoy enfrentando este error. – Varundroid

Respuesta

18

Creo que necesita establecer el tipo de objeto intencionado. Se puede tratar el siguiente

emailIntent.setType("message/rfc822"); 

o

emailIntent.setType("text/plain"); 
+0

thansk man eres un salvavidas jajaja y por favor no te rías de mi estúpido error: P ..... ahora todo está funcionando bien pero no estoy obteniendo el campo de dirección en el campo "TO" de mi aplicación de correo electrónico. alguna idea de por qué es así? – Varundroid

+2

no hay problema ... La variable de dirección tiene que ser una matriz String, creo. Algo así como String address = {"[email protected]"}; – Josnidhin

0

Si alguien está tratando de hacer esto desde las preferencias XML, que logra esto mediante la adición en el elemento de preferencia una intención con la que ACTION_SENDTO acción y como datos mailto: [email protected] Espero que esto pueda ayudar a alguien.

Cuestiones relacionadas