一直想写一个关于手机闪光灯的小demo苦于没有时间
今天终于完成了
程序很小 功能也很简单 就是简单的开、关
已测试通过
PS:当然了有些设备是没有闪光灯的
附上源码
package com.example.testflash;
import android.hardware.Camera;
import android.os.Bundle;
import android.app.Activity;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Switch;
public class MainActivity extends Activity{
private Camera camera;
private Switch mSwitch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSwitch = (Switch) findViewById(R.id.switch1);
mSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean flag) {
if(flag){
turnLightOn();
}else {
turnLightOff();
}
}
});
}
public void turnLightOn() {
try{
camera = Camera.open();
parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);// 开启
camera.setParameters(parameters);
camera.startPreview();
} catch(Exception ex){
ex.printStackTrace();
}
}
public void turnLightOff() {
try{
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);// 关闭
camera.setParameters(parameters);
camera.stopPreview();
camera.release();
camera = null;
} catch(Exception ex){
ex.printStackTrace();
}
}
权限:
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
布局文件中只有一个Switch控件,且用该控件的条件是minApi不低于14