Google Nexus 7 indica que no tiene cámara
Cuando mi aplicación se ejecuta en Google Nexus 7 Tablet, devuelve false para esta prueba estándar de Android para ver si el dispositivo está equipado con una cámara.
PackageManager pm = this.getPackageManager(); if(!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) { // disable camera button }
Ahora me doy cuenta de que el Nexus 7 no viene con una cámara incorporada, pero cuando intento iniciar una actividad de cámara, utilizo lo siguiente (para dar al usuario la opción de seleccionar aplicaciones alternativas).
- API de impresión de Android en la pestaña Galaxy
- Ocultar barra del sistema de la tableta
- Uso de python y matplotlib en android
- ¿Cómo puedo desactivar select2 jQuery plugin en tabletas?
- ¿Cómo averiguar si la aplicación se está ejecutando en tablet o dispositivo móvil en android?
File fTempCameraFullDirPath = new File(msTempCameraFullDirPath); Uri outputFileUri = Uri.fromFile( fTempCameraFullDirPath ); Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); cameraIntent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri ); startActivityForResult(Intent.createChooser(cameraIntent, getString(R.string.select_camera_app)), REQUEST_CODE_CAMERA);
Ahora claramente no consigo a este código porque la prueba para una cámara falla e inhabilito el botón, pero parece como mientras tengo una aplicación de la cámara instalada en mi tabla de Nexus 7 que debo poder tomar cuadros.
¿Alguien sabe de una prueba alternativa que puedo utilizar para habilitar esta funcionalidad en este tablet (o dispositivos similares)?
- ProgressBar en una ActionBar, como la aplicación de GMail con Refresh
- Tablet Android o iPad para dispositivo de quiosco
- Android - detectar la tableta pequeña vs teléfono grande?
- HTML Mobile: obliga al teclado virtual a ocultar
- Notificaciones de Toast que no aparecen en Nexus 7 Tablet
- Montaje de un Samsung Galaxy Tab 2 7.0 con MTP en Linux
- ¿Cómo saber si un dispositivo en particular tiene soporte para hardware SIM?
- Android: ¿Utilizar una tableta para emular otros dispositivos?
Puede comprobar FEATURE_CAMERA_FRONT
, ya que el Nexus 7 sólo tiene una cámara frontal.
Trate de comprobar PackageManager.FEATURE_CAMERA_FRONT
, así como FEATURE_CAMERA
, ya que el Nexus 7 sólo tiene la cámara frontal, y el algoritmo de selección de cámara Android predeterminado a la cámara trasera.
Como actualización de la respuesta:
Desde API Nivel 17 también puede comprobar PackageManager.FEATURE_CAMERA_ANY
que indica si el dispositivo tiene alguna cámara independientemente de su posición.
Mirando a los documentos que dice FEATURE_CAMERA pertenece a la cámara frente a la pantalla que es esencialmente la cámara trasera. Así que con razón debe devolver falso.