Cámara Android: requiere cámara frontal o posterior

Mi aplicación necesita una cámara para funcionar. Sin embargo, no importa si se trata de una cámara trasera o frontal.

Ahora mismo, tengo esto en mi Manifiesto:

<uses-feature android:name="android.hardware.camera"/> 

Para requerir una cámara frontal, sé que también podría agregar esto:

 <uses-feature android:name="android.hardware.camera.front"/> 

Pero me gustaría apoyar todos los dispositivos que tiene cámara Either. ¿Hay alguna manera de hacer esto?

Por ejemplo, quiero apoyar Nexus 7 que tiene sólo una cámara frontal. Pero también quiero apoyar los dispositivos con cámara trasera solamente.

De acuerdo con algunas investigaciones he hecho, tales como:

Http://code.google.com/p/android/issues/detail?id=35166

Parece que esto no es posible.

Creo que una manera de resolver esto sería hacer 2 APKs separados, uno con android.hardware.camera y otro con android.hardware.camera.front y subirlo a Google Play, usando su soporte múltiple de APK . Todavía no lo he probado.

¿Alguien ha encontrado una forma recomendada de soportar todos los dispositivos con una cámara frontal, una cámara trasera o ambas, pero no dispositivos sin cámaras?

Varios pensamientos (sin respuesta definitiva):

A) Creo que tiene razón de que en la actualidad no hay una buena manera de exigir a cualquiera de las cámaras en APK.

B) Si lo desea, puede eliminar los usos-función y comprobar una cámara en tiempo de ejecución. Esto empeorará la experiencia del usuario, pero funcionará.

C) Puedes usar el uso required = "false" (http://developer.android.com/guide/topics/manifest/uses-feature-element.html). Ojalá, Google Market priorice las aplicaciones que utilizan esta bandera.

C) Nota lateral. Como sé la mayoría de los dispositivos Android tienen una cámara. Por lo tanto, si usted va con la solución b) o c) sólo muy pequeña base de usuarios se dará cuenta de la diferencia

Esto ha cambiado desde que fue contestada, ahora puede agregar la función uses-feature al manifiesto que requiere una cámara como esta:

 <uses-feature android:name="android.hardware.camera.any" android:required="true" /> 

Sólo para añadir mis 2 centavos a esta discusión:

He logrado el mismo resultado que @Cat descrito en un comentario a Juan Cortés.

La forma en que probé esto fue usando aapt (instrucciones sobre las pruebas que se encuentran en http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions-features ), y buscando cámara explícita o implícita Requisitos:

No se <uses-feature> indicador <uses-feature> , pero que requiere permiso de la camera : Introduzca aquí la descripción de la imagen Observe los uses-implied-feature

Usando sólo <uses-feature android:name="android.hardware.camera.any" android:required="false" /> : Introduzca aquí la descripción de la imagen Todavía implica que la aplicación SIEMPRE necesita una cámara.

Ambos <uses-feature android:name="android.hardware.camera.any" android:required="false" /><uses-feature android:name="android.hardware.camera" android:required="false" /> Definido: Introduzca aquí la descripción de la imagen No más características implícitas.

Espero que esto ayude a alguien perfil su propia aplicación.

  • Cómo abrir la aplicación Google Play Store directamente sin la intención del selector
  • Android: respuesta de la actividad del mercado
  • Cómo solucionar los defectos de la lógica de adquisición de la API de los consumibles en la API de facturación de Google Play v3 (relevante para todos los consumibles con API v3)
  • Busque el nombre del paquete para que las aplicaciones de Android se utilicen Intent to launch Market app from web
  • No se puede eliminar una suscripción en la aplicación de mi consola de desarrollador de google play
  • símbolo de divisa para código iso en Android
  • Android: cambia el nombre del paquete de la aplicación en vivo
  • ¿La publicación Alpha / Beta apk funciona con aplicaciones no publicadas en Google Play?
  • Reservando un nombre de paquete en Google Play
  • Es posible liberar una aplicación actualizada mediante la firma con un certificado diferente de la que se utilizó originalmente
  • ¿Existe una lista o una descripción exhaustiva de los parámetros de referencia que la aplicación de Android Market envía a la intención de referencia?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.