¿Puedo cambiar la intensidad del LED de un dispositivo Android?
¿Hay una manera de ajustar la intensidad del LED que deseo? Sé que para encender el LED que uso:
p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); mycam.setParameters(p);
Pero este código sólo enciende el LED. ¿Pero hay una manera de fijar intensidades diferentes al LED para una luz más fuerte o para reducir la intensidad de la luz?
- ¿Puedo detectar la presencia / ausencia de "notificación LED" en un dispositivo Android?
- Controla el LED Android desde el shell
- ¿Se puede manipular el terminal inalámbrico Android sin utilizar un objeto de notificación?
- Android: Mantenga la cámara LED encendida después de que la pantalla se apague
- Linterna LED no funciona en Samsung Galaxy Nexus
- LEDs compatibles con el dispositivo Android
- Nexus 5 (4.4.2) El LED de la linterna no se enciende
- Linterna LED en Galaxy Nexus controlable por qué API?
- Un retraso de unos pocos segundos al intentar encender Led flash
- ¿Cómo utilizar el flash / led de la cámara como antorcha en una lengüeta de Samsung Galaxy?
- Android: la luz del flash de la cámara parpadea en intervalos erróneos en diferentes dispositivos
- Android: LED no se enciende / apaga
- Camera.Parameters.FLASH_MODE_TORCH reemplazo para Android 2.1
HTC tiene una API alternativa que soporta esto, sin embargo es sólo en dispositivos HTC Sense, y como de Gingerbread han cambiado los permisos por lo que es sólo para su aplicación de linterna, no de terceros (a menos que utilice root).
Pero en los dispositivos HTC 2.2 puedes usarlo escribiendo una cadena en /sys/devices/platform/flashlight.0/leds/flashlight/brightness
. Esto controla si el LED está encendido y lo brillante que es. Para obtener el máximo brillo, escriba "128\n"
, medio brillo, escriba "64\n"
. Fácil de probar desde el shell de adb:
echo "128" > /sys/devices/platform/flashlight.0/leds/flashlight/brightness
Y finalmente apáguelo escribiendo "0\n"
allí.
La respuesta corta es: NO.
Respuesta más larga – tal vez en algunos dispositivos que usan las llamadas / parámetros de undocumenterd. Los modos de flash compatibles, y sus significados (y comportamientos) difieren de un dispositivo a otro.
Su mejor opción es consultar los modos de flash compatibles, y esperamos que funcionen de la manera deseada.
Intente establecer diferentes modos de flash disponibles para los parámetros de la cámara.
* FLASH_MODE_OFF * FLASH_MODE_AUTO * FLASH_MODE_ON * FLASH_MODE_RED_EYE * FLASH_MODE_TORCH
Puede configurar el modo Flash utilizando el método setFlashMode ().
Esto fue sólo para la cámara de luz de fondo. Pero si desea cambiar la intensidad completa de la pantalla. Echa un vistazo al ejemplo aquí.
Intente encontrar el código de esta función:
private native final void native_setParameters(String params);
Creo que usted descubrirá si esto es posible cuando usted mira a través de él.
Mirando al public
s, parece imposible
He intentado esto en mi Samsung Galaxy S3 Mini. No he probado en otros dispositivos.
Siempre que hago esto (mientras que el led está ENCENDIDO):
public void changeIntensity() { cam.stopPreview(); cam.startPreview(); }
El LED gira entre 3 niveles de intensidad. No tiene sentido, pero funciona.
- No se puede ejecutar dex: Java heap space Java heap space
- Java.io.IOException: El nombre de host no se ha verificado