闪光灯(照相机)

Android 4.0

闪光灯(照相机)

 技术点:
①打开关闭闪光灯
②按两次后退键退出应用
打开关闭闪光灯
/**
 * 打开闪光灯
 */
private void openFlashLight() {
    
    if (!isOpen) {//闪光灯处于关闭状态
        if (camera==null) {
            camera=Camera.open();
        }
        camera.startPreview();
        Parameters parameters = camera.getParameters();
        parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
        camera.setParameters(parameters);
        isOpen = true;
    }
}
/**
 * 关闭闪光灯
 */
private void closeFlashLight() {
    
    if (isOpen) {//闪光灯已经打开
        if (camera != null) {
            Parameters parameters = camera.getParameters();
            parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
            camera.setParameters(parameters);
            camera.release();
            camera = null;
        }
        isOpen = false;
    }
}
按两次后退键退出应用
//按键触发
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode==KeyEvent.KEYCODE_BACK) {//后退键
        if (firstPressed) {
            long secondTime = System.currentTimeMillis();
            if (secondTime-firstPressedTime<1000) {//1秒内,认为是按了两下后退键,退出程序
                int pid = Process.myPid();
                android.os.Process.killProcess(pid);
                return true;
            }else {//如果时间过长,将第一次按下时间和是否按下置为默认
                firstPressedTime = System.currentTimeMillis();
            }
        }else {
            firstPressedTime = System.currentTimeMillis();
        }
        Toast.makeText(getApplicationContext(), "请再次按下后退键退出应用", Toast.LENGTH_SHORT).show();
        firstPressed = true;
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
效果: