|
||
|
![]() |
![]() |
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 |
![]() |
|
Herramientas |
#1
|
||||
|
||||
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]
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack |
|
#2
|
||||
|
||||
Poniendo el EnviaMail en el onActivityResult para el código 0, que el que le has puesto al de tomar la foto.
|
Gracias de parte de: | ||
#3
|
||||
|
||||
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]
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack Última edición por Dild0 Día 27/03/13 a las 11:55:07. |
![]() |
![]() |
||||||
|