Cuando llamo mCamera = Camera.open() devuelve null, lo que podría estar causando esto? Mi dispositivo es el Nexus 7.

Ya tengo los permisos establecidos en mi AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
  • Trate de este
  • De nuevo, camera = Camera.open(); devuelve null.
  • Se trató de que ejemplo?
  • Sí…soy un poco de un idiota, aunque…la API lee Creates a new Camera object to access the first back-facing camera on the device. If the device does not have a back-facing camera, this returns null.…la Nexus 7 no tiene una parte trasera frente a la cámara, sólo un delantero.
  • Sí. Antes, al ver que el dispositivo no sabía esto. Sólo sé que yo sé de esto a través de el documento Intentar abrir la cámara secundaria. Y, una vez trate de este
InformationsquelleAutor Cheetah | 2012-08-21

3 Comentarios

  1. 27

    Descubierto,

    Usted necesita llamar a Camera.open(0).

    ESTO SÓLO ES VÁLIDO Y funciona EN EL NEXUS 7 el dispositivo, ya que sólo tiene una cámara, por lo que sólo es útil si la orientación que solo dispositivo.

    • Lea también este
    • Esta es la respuesta equivocada. En primer lugar, 0 es una codificado número. En segundo lugar, como @Praveen mencionado, debe utilizar getNumberOfCameras() y abrir(int).
    • ¿has leído todo el post – específicamente quiero mencionar que es sólo válida para dispositivos con una sola cámara.
    • Yo sé. Pero 0 es un valor codificado. Me gustaría evitar de uso. Usted puede declarar mi opinión está mal, le toca a usted.
    • LaiVung / user1521536 es correcta. No codificar la identificación de la cámara de los valores. Esta respuesta es un acceso directo que no funciona, que trabajó para una persona en una instancia.
    • Vamos chicos, ¿cómo podría un valor codificado ser la respuesta a tus problemas? Inicio de la comprensión de los problemas sin el uso de estos malditos accesos directos.
    • El uso de open(0) es perfectamente legítimo. El oficial doc dice: cameraId int: el hardware de la cámara de acceso, entre 0 y getNumberOfCameras()-1. Así, si el manifiesto de la aplicación requiere «de android.de hardware.de la cámara», lo que, a continuación, cameraId=0 puede ser utilizado.

  2. 5

    Para aquellos que la prueba de una aplicación en Android 6.0+, asegúrese de que se han implementado Tiempo De Ejecución De Permiso.
    Porque simple de permisos en el archivo AndroidManifest no es suficiente.

    • No puedo creer que esta tiene menor upvotes en comparación con la respuesta. Esta podría ser la solución, trabajó para mí…
    • Así, la primera respuesta fue que en el momento de donde no había tal cosa como el tiempo de ejecución de los permisos. De todos modos, me alegro de ayudar 🙂
  3. 1

    He resuelto este problema siguiendo los pasos siguientes.

    1. Abrir el «AVD Manager» y seleccione el dispositivo virtual está utilizando

    2. Haga clic en el botón «Editar»
      De la cámara.open() devuelve null

    3. En el «Hardware» de la sección, seleccione «Nuevo» y agregar «Configura la cámara hacia atrás» y haga clic en Aceptar.

    4. En la lista desplegable situada junto a la entrada, seleccione «webcam0» o la correspondiente a la cámara que desea utilizar
      De la cámara.open() devuelve null

    5. Detener el AVD y reiniciar de nuevo.

Dejar respuesta

Please enter your comment!
Please enter your name here