您的位置:首页 > 移动开发 > Android开发

Android 打开关闭闪光灯。

2017-06-05 16:20 323 查看
关于android打开闪光灯的一些小事

在这篇文章中。

添加权限

<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.autofocus"/>


判断是否有闪光灯

//初始化
Camera  camera = Camera.open();
camera.startPreview();


//判断
public boolean lightOn(boolean flag) {
try {
Camera.Parameters parameters = camera.getParameters();
String flashMode = parameters.getFlashMode();
if (flashMode.equals(android.hardware.Camera.Parameters.FLASH_MODE_TORCH)) {
return true;
} else {
return false;
}
} catch (Exception e) {
return false;
}


打开的方法

public void Open() {
//异常处理一定要加,否则Camera打开失败的话程序会崩溃
try {
camera = Camera.open();
} catch (Exception e) {
Toast.makeText(getBaseContext(), "Camera被占用,请先关闭", Toast.LENGTH_SHORT).show();
}

if(camera != null)
{
//打开闪光灯
camera.startPreview();
Camera.Parameters parameter = camera.getParameters();
parameter.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameter);
}
}


关闭的方法:

public void Close()
{
if (camera != null)
{
//关闭
camera.getParameters().setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(camera.getParameters());
camera.stopPreview();
camera.release();
camera = null;
}
}


闪光灯开光的判断:

/**
* 闪光灯开关
*/
public void flashlight() {

if (isFlashlightOn(false)) {
Close();
camera = null;
} else {
Open();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: