Captura de imagen de la cámara no logra regresar en Galaxy Tab Edición limitada

Tengo problemas con una edición limitada de Galaxy Tab (Google I / O) cuando abro la cámara con un intento.

Este es mi código:

 Intención imageCaptureIntent = new Intent (MediaStore.ACTION_IMAGE_CAPTURE);
 ImageCaptureIntent.putExtra (MediaStore.EXTRA_OUTPUT, Uri.fromFile (nuevo     
     Archivo (mSavedFilePath)));
 StartActivityForResult (imageCaptureIntent, REQUEST_IMAGE_CAPTURE);

En un Motorola Xoom este código está funcionando bien. Pero en Galaxy Tab 10.1, nunca recibo la respuesta de la aplicación de cámara.

No tengo un rastro de la pila porque no tengo un error.

Alguien tiene alguna idea?

No necesita el permiso de la cámara al iniciar una intención con la aplicación de cámara. Sin embargo, este es un proceso altamente fragmentado en la plataforma android. He tenido un montón de problemas con él. Básicamente si usted comprueba el archivo adicional que usted envió a la aplicación de la cámara usted notará que su tamaño es 0 bytes cuando el resultado vuelve. Este error existe en una gran cantidad de dispositivos android y te es una solución para la fijación de la mayor parte de ella y que es cuando esto falla (esto significa que no hay salida parcelable extra devuelto y si es entonces el archivo extra no se crea o con longitud 0 Entonces usted necesita para obtener el Uri de la intención como: intention.getData (), lo que devolverá un uri al archivo que se forma básicamente de la misma manera que el Extra Uri de salida para que pueda después utilizar el mismo enfoque para obtener la imagen .

Se dará cuenta de que la imagen se almacena dentro del proveedor Media.Images y en el directorio de la cámara y ofc el intento.getData () Uri apuntando allí.

Espero que esto ayude. No se olvide de votar: D.

Estaba muy frustrado por esto también. Sin embargo, encontré una (algo lamentable) solución.

Debo decir, de inmediato, que no estaba usando el intento ACTION_IMAGE_CAPTURE estándar. Como quería tener la imagen de la cámara en una ventana, usé mi propio diseño y usé lo siguiente como una plantilla:

Cómo programar la cámara de Google Android para tomar fotos

Tocar la pantalla llama a la función Camera.PictureCallback onPictureTaken (byte [] imageData, cámara c) , que es donde tomo el byte [] que contiene la imagen. Tengo una variable global "byte [] MainApplication.snapshotBytes" que es asignado por el imageData de esta función.

Ahora que los datos se han guardado globalmente y están disponibles para la actividad de llamada, ¿cómo se debe terminar la actividad actual de tal manera que se notifica la actividad de llamada? Bueno, hay un número de maneras, pero me di cuenta temprano que presionando el botón de nuevo todavía llama OnActivityResult (…) . Por lo tanto, hice lo siguiente:

if (imageData != null) { MainApp.snapshotBytes = imageData; setResult(RESULT_OK); onBackPressed(); } 

La actividad llamante era ahora responsable de tres cosas más.

1: Establece MainApp.snapshotBytes = null antes de iniciar la actividad de la cámara.

2: Cuando se llamó OnActivityResult (…) , comprobó primero el * resultCode == RESULT_OK *, y luego hizo uso de los datos de imagen que se almacenaron en el MainApp.snapshotBytes global.

3: Por último, estableció el MainApp.snapshotBytes = null de nuevo para que la memoria podría ser recuperado por GC.

Voy a ser el primero en admitir que es un kludge, pero funciona y es compatible con o sin el error Camera-null-Intent.

¡Espero que esto ayude!

Suena como un error …

Pero por si acaso, ¿Ha incluido en su AndroidManifest.xml lo siguiente ???

  <uses-permission android:name="android.permission.CAMERA"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 

También puedes intentar usar el Intent sin extras.

  Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(imageCaptureIntent, REQUEST_IMAGE_CAPTURE); 

El bitmap resultante será más pequeño, pero al menos puedes probarlo para ver si funciona. Espero que ayude.

Saludos,

Suena como que podría estar relacionado con este http://kevinpotgieter.wordpress.com/2011/03/30/null-intent-passed-back-on-samsung-galaxy-tab/

Hay otra pregunta abierta que puede dar información adicional

  • ¿Qué versión de API para la tableta Android?
  • Modo horizontal en tableta solamente
  • Ocultar barra del sistema de la tableta
  • Archivo de manifiesto de Android: App soporta tabletas, pero está marcado como "no compatible" en el mercado?
  • Android Tablet IDE para Python y Java
  • Uso de python y matplotlib en android
  • ¿Qué porcentaje de usuarios de tabletas navega en orientación vertical / horizontal?
  • ProgressBar en una ActionBar, como la aplicación de GMail con Refresh
  • Alcance el diseño de la tableta de android gmail en la selección (estilo de la flecha)
  • Google Nexus 7 indica que no tiene cámara
  • Uso de una barra de soporte para la distribución del teléfono y una barra de acción independiente para el diseño de la tableta
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.