2011-05-11 81 views
32

有没有办法设置我想要的LED亮度?我知道要打开我使用的LED:我可以更改Android设备的LED亮度吗?

 p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); 
    mycam.setParameters(p); 

但是,此代码只是打开LED。但是,是否有办法为LED设置不同的强度以获得更强的光线或降低光强?

+0

我不这么认为,但我不确定。如果是这样,它绝对不会在所有设备上工作。您也可以考虑移除[flash]标记,因为它是用于Adobe Flash的,有人可能会在此期待与此相关的问题。 – FoamyGuy 2011-05-11 20:31:57

+2

我的HTC Evo具有使用LED“闪光灯”的“手电筒”功能,并具有三种不同的亮度设置。像冠军一样工作。所以必须有一些**方法来做到这一点。由于它是一个内置的应用程序,我认为它可能是特定于设备的。 – 2011-05-11 20:42:30

+0

希望我的回答能帮助你。 – 2011-08-03 05:16:14

回答

24

HTC具有支持该替代API,但是它只能在HTC Sense装置,和姜饼,他们已经所以才为他们的手电筒应用程序,而不是第三方那些更改的权限(除非你使用root)。

但在2.2 HTC设备上,您可以通过将字符串写入/sys/devices/platform/flashlight.0/leds/flashlight/brightness来使用它。这控制着LED是否点亮以及它有多亮。对于最大亮度写入"128\n",半亮度写入"64\n"。易亚行外壳测试:

echo "128" > /sys/devices/platform/flashlight.0/leds/flashlight/brightness 

最后通过写"0\n"有将其关闭。

+0

谢谢@Kevin TeslaCoil ..我得到了你所说的。但不知道如何实现它。你能展示一个与此相关的指南或教程吗? – 2011-08-09 04:06:49

+0

到目前为止,我收到了http://code.google.com/p/quick-settings/source/browse/trunk/quick-settings/src/com/bwx/bequick/flashlight/HtcLedFlashlight.java?r=209 .. ... – 2011-08-09 07:36:24

+0

快速设置,很酷。我想你只是错过了\ n部分。以下是我用于TeslaLED的内容http://teslacoilsw.com/tmp/SysDevicesLED.java – 2011-08-10 04:05:57

4

尝试为相机参数设置不同的闪光模式。

* FLASH_MODE_OFF 
* FLASH_MODE_AUTO 
* FLASH_MODE_ON 
* FLASH_MODE_RED_EYE 
* FLASH_MODE_TORCH 

您可以使用setFlashMode()方法设置Flash模式。

这只是用于相机背光。但是如果你想改变完整的屏幕亮度。看看例子here.

+0

我想让我的相机led灯改变... – 2011-08-02 11:35:22

2

试图找到这个函数的代码:

​​

我beleive,你会发现这是可能的,当你看通过它。

望着public S,这似乎是不可能

5

简短的答案是:NO。
较长的答案 - 可能在某些使用未经确认的调用/参数的设备上。 受支持的闪光灯模式及其含义(和行为)因设备而异。

你最好的选择是查询支持的闪光灯模式,并希望他们工作,以满足。

2

我在我的三星Galaxy S3 Mini上试过这个。我还没有尝试过其他设备。

每当我做到这一点(当LED ON):

public void changeIntensity() 
{ 
    cam.stopPreview(); 
    cam.startPreview(); 
} 

的LED 3个级别的强度的之间旋转。它没有任何意义,但它起作用。

+1

这不适用于Nexus 6。 – 2015-07-08 12:21:58

相关问题