Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 27/03/13, 10:04:03
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 860
Tu operador: Pepephone

Problema con intent

Hola buenas!! Os comento estoy creando una aplicación la cual una de sus funcionalidades es solicitar hacer una foto y enviarla por correo. La funcionalidad comentada quiero que se ejecute toda en un solo botón.

Ahora viene el problema, al pulsar el boton se lanza el intent de captura de imagen y de seguido el intent de enviar por mail, pero es tan rapido que antes de hacer la foto ya se abre el correo. Alguna idea para que no lance el intent del correo hasta q la respuesta de la camara sea favorable?.

Este es mi código.

[PHP]foto = (Button) findViewById(R.id.btn_foto);

foto.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
path = TomarFoto(null);
EnviaMail(null, path);

}
}); [/PHP]

[PHP]

public String TomarFoto(View v) {
// Lanza la aplicacion de camara, hace una foto, la guarda en sd y
// retorna la ruta.

String fotoPath = new String();
File folder = new File(Environment.getExternalStorageDirectory()
+ "/ruta/images");

if (!folder.exists()) {
folder.mkdirs();
}
fotoPath = Environment.getExternalStorageDirectory()
+ "/ruta/images/FI" + HoraSistema() + ".jpg";

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CA PTURE);
Uri output = Uri.fromFile(new File(fotoPath));
i.putExtra(MediaStore.EXTRA_OUTPUT, output);
startActivityForResult(i, 0);
return fotoPath;
}
[/PHP]

[PHP]
public void EnviaMail(View v, String path) {

Intent itSend = new Intent(android.content.Intent.ACTION_SEND);
itSend.putExtra(android.content.Intent.EXTRA_EMAIL ,
new String[] { "[email protected]" });
itSend.putExtra(android.content.Intent.EXTRA_SUBJE CT,
"asunto");
itSend.putExtra(android.content.Intent.EXTRA_TEXT,
"contenido");

Uri uri = Uri.fromFile(new File(path));
itSend.putExtra(Intent.EXTRA_STREAM, uri);
itSend.setType("image/jpg");
startActivity(itSend);
}

}[/PHP]
__________________
Responder Con Cita


  #2  
Viejo 27/03/13, 10:27:28
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Poniendo el EnviaMail en el onActivityResult para el código 0, que el que le has puesto al de tomar la foto.
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 27/03/13, 11:49:23
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 860
Tu operador: Pepephone

Perfecto gracias, estoy aprendiendo y se me escapan aun cosillas basicas, era una tontería pero me vakle de mucho para aprender

Ya funciona!!!

sl2

[PHP]protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
EnviaMail(null, path);
}
}
}[/PHP]
__________________

Última edición por Dild0 Día 27/03/13 a las 11:55:07.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 02:59:19 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /