对于这个问题,你应该:
>检查手电筒是否是
可用与否?
>如果是,则关闭/打开
>如果没有,那么根据你的应用,你可以做任何事情
需要.
要检查设备中闪存的可用性:
您可以使用以下内容:
context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
如果闪存可用则返回true,否则返回false.
用于打开/关闭手电筒:
我google了,得到了关于android.permission.FLASHLIGHT的这个. Android清单的许可看起来很有希望:
android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
android:protectionLevel="normal"
android:label="@string/permlab_flashlight"
android:description="@string/permdesc_flashlight" />
例如.
代码片段打开相机手电筒.
Camera cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();
代码片段可关闭相机指示灯.
cam.stopPreview();
cam.release();
我刚刚找到了一个使用此权限的项目.检查quick-settings的src代码.这里http://code.google.com/p/quick-settings/(注意:此链接现已中断)
更新5主要更新
更新1
更新2
另一个开源代码:
更新3(用于打开/关闭相机的小工具)
更新4
**问题:**
打开/关闭手电筒时也存在一些问题.例如.对于没有FLASH_MODE_TORCH或甚至没有FLASH_MODE_TORCH的设备,则手电筒不会打开等.
通常,三星会产生很多问题.
您可以参考以下列表中的问题: