需要了解Android中的LED闪光灯代码

时间:2014-06-23 19:32:05

标签: android led flashlight

  

我已经从diff资源获得了一些代码,但所有代码都没有   在我的手机上为LED手电筒工作。我有LG Optimus。但如果我   从Play商店下载一些应用程序它非常好。我的活动代码   是

相机相机= null;          参数参数;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         final Button FlashLightControl = (Button)findViewById(R.id.flashcontrol);
            FlashLightControl.setText("Set FLASH_MODE_TORCH");
            FlashLightControl.setOnClickListener(new Button.OnClickListener(){
                @Override
        public void onClick(View arg0) {
        if(camera == null){
        camera = Camera.open();
                parameters = camera.getParameters();
                     parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
        camera.setParameters(parameters);
        FlashLightControl.setText("Set FLASH_MODE_OFF");
                     }else{
               parameters = camera.getParameters();
                      parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                         camera.setParameters(parameters);
                         camera.release();
                         camera = null;
                         FlashLightControl.setText("Set FLASH_MODE_TORCH");
                        }
                }});
  

和Manifest:

<uses-feature android:name="android.hardware.camera" />

<!-- Camera Permissions -->   

<!-- Features -->
<uses-feature android:name="android.hardware.camera.flash" />
<uses-feature android:name="android.hardware.camera.autofocus" />
     <uses-permission android:name="android.permission.CAMERA"/>

1 个答案:

答案 0 :(得分:0)

这是网站上java代码的一部分, 在onCreate方法中调用getCamera,通过按钮调用其余的。

对于toggle和playound方法检查网站,但它们主要用于图形和UI目的,您可以选择在初始阶段忽略它们。

// getting camera parameters
 private void getCamera() {
if (camera == null) {
    try {
        camera = Camera.open();
        params = camera.getParameters();
    } catch (RuntimeException e) {
        Log.e("Camera Error. Failed to Open. Error: ", e.getMessage());
    }
}
}    

private void turnOnFlash() {
if (!isFlashOn) {
    if (camera == null || params == null) {
        return;
    }
    // play sound
    playSound();

    params = camera.getParameters();
    params.setFlashMode(Parameters.FLASH_MODE_TORCH);
    camera.setParameters(params);
    camera.startPreview();
    isFlashOn = true;

    // changing button/switch image
    toggleButtonImage();
} 
}
    /*
 * Turning Off flash
 */
private void turnOffFlash() {
if (isFlashOn) {
    if (camera == null || params == null) {
        return;
    }
    // play sound
    playSound();

    params = camera.getParameters();
    params.setFlashMode(Parameters.FLASH_MODE_OFF);
    camera.setParameters(params);
    camera.stopPreview();
    isFlashOn = false;

    // changing button/switch image
    toggleButtonImage();
}
}

你可以从链接中获取任何其他内容的帮助 http://www.androidhive.info/2013/04/android-developing-flashlight-application/