您的位置:首页 > 其它

打开手机手电筒

2015-11-09 10:33 471 查看
<span style="font-size:14px;">package com.jwzhangjie;

import com.jwzhangjie.test.R;

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

/**
* 手电筒
* @author jwzhangjie
*
*/
public class CameraLight extends Activity{

private Button openLight;
private boolean status = false;
private Camera camera;
private Parameters parameters;
private CameraLight instance;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cameralight);
instance = this;
camera = Camera.open();
openLight = (Button)findViewById(R.id.openLight);
openLight.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (!status) {
openLight.setText("关闭");
status = true;
new Thread(new TurnOnLight()).start();
}else {
status = false;
openLight.setText("打开");
instance.parameters.setFlashMode("off");
instance.camera.setParameters(instance.parameters);
}
}
});

}

private class TurnOnLight implements Runnable{
@Override
public void run() {
instance.parameters = instance.camera.getParameters();
instance.parameters.setFlashMode("torch");
instance.camera.setParameters(instance.parameters);
}
}
}
</span>


这里要说明一下 开启线程来打开手电筒是因为与硬件相关的操作最好不用主线程 因为硬件有可能卡顿主线程 建议开启线程来开启
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: