android将闪光灯作为手电筒的实现代码

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

手电筒是使用Android手机的闪光灯,所以需添加权限<uses-permission android:name="android.permission.CAMERA" />

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);  
        }  
    }  
 }