Inicio » Android » Nexus 7 y la cámara que no responde

Nexus 7 y la cámara que no responde

Hace poco he  estado usando la cámara para trabajar con las fotos realizadas. El código es sencillo:

Uri uri = Uri.fromFile(mTempPictureFile)
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, TAKE_PICTURE_SUBACTIVITY);

El problema viene en donde colocar el fichero temporal.

Como la SDK de android tiene un método para tal propósito pues lo he usado.

File mTempPictureFile = File.createTempFile ("imagen", "jpg");

No se si en muchos dispositivos, pero esto inicialmente funciona aunque posteriormente he podido comprobar que coloca las imágenes en el raiz, y eso me parece muy poco conveniente.

Y decía en muchos porque no en todos. En la nexus 7 y en creo que en los samsumg III produce un curioso efecto, y eso que después de hacer la foto, no te permite aceptarla para usarla. En ambos casos, el software que controla la cámara te muestra una previsualización para aceptar o no la foto con un a X y un ✓ pero no permite confirmarla. Y para colmo, no deja unas trazas claras del problema.

La solución a este problema ha consistido en cambiar la ubicación del fichero, usando algo como:
File cacheDir = this.getExternalCacheDir();
cacheDir.mkdirs();
mTempPictureFile = new File(cacheDir,"waypointCapture.jpg");
mTempPictureFile.delete();
Uri uri = Uri.fromFile(mTempPictureFile);

Bueno, espero que os sea útil si os habéis encontrado con este problema.

Comartid! 🙂

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s