我正在尝试在小部件中使用相机的LED手电筒。我已经找到了关于该主题的多个线程(即稍后提到的那个。.),现在我试图使用以下方法来控制灯光:
Camera cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.release();
在AndroidManifest.xml中尝试了不同的权限,目前我有:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.flash" />
我正在“ Galaxy Tab”上对此进行测试,因为手头没有任何其他Android设备:指示灯不亮。所以我现在有几个问题:
有什么方法可以在仿真器中测试led灯的行为吗?
我在这里做错什么了吗?
根据这个问题,这同样的问题交易,它的工作方式不同的Galaxy Tab的。怎么样?
最后,如果它的工作方式有所不同,我开始怀疑它只是Galaxy Tab还是其他设备也使用不同的方法。那时很难测试,对我来说似乎很奇怪。
感谢您的见解!
顺便说一句,我快速测试了快速设置,这里多次提到。手电筒也无法进行快速设置。
请注意,Galaxy Tab stil使用android 2.2。我看到2.2和2.3之间有一些变化。
评论:我知道它必须以某种方式工作,因为我在市场上发现了与Galaxy Tab完美搭配的其他应用。
注释2:如果我设置了cam.setParameters(p); 并直接使用getFlashMode()询问相机当前状态,即可正确返回FLASH_MODE_TORCH。但是,如果释放相机并重新打开它,它将返回FLASH_MODE_OFF。几乎就像Camera对象确认了请求,但实际上并没有将其传递给硬件!
-
康斯坦丁斯发表评论后,我删除了cam.release();。部分。他是对的,如果您松开相机,设置将不会保留。如果再次使用cam.open(),则将关闭一个新实例。灯仍然无法在银河选项卡上工作。因此,我想如果您试图通过小部件来控制它,就很难保持点亮状态。后台服务完成后,相机对象会自动释放,因此灯会再次关闭。我的问题仍然存在,尤其是为什么相机一开始就无法开机。
精慕HU
慕姐8265434
梵蒂冈之花
相关分类