如何在android中提高和降低手电筒的光强

  • 本文关键字:手电筒 光强 android android
  • 更新时间 :
  • 英文 :


这是我的代码,现在我想增加或减少闪光灯的强度。可以通过移动搜索栏来增加或减少闪光灯的亮度,我该怎么做。。。。。。。这是我的代码,现在我想增加或减少闪光灯的强度。可以通过移动搜索条来增加或减少闪光灯的亮度。。。。。这是我的代码,现在我想增加或减少闪光灯的强度。可以通过移动搜索条来增加或减少闪光灯的亮度,我可以如何进行

    public class MainActivity extends Activity {
    private Camera camera;
    private Camera.Parameters parameters;
    private ImageButton flashLightButton;
    boolean isFlashLightOn = false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        flashLightButton = (ImageButton)findViewById(R.id.flash_btn);
        flashLightButton.setOnClickListener(new FlashOnOffListener());
        if (isFlashSupported()) {
            camera = Camera.open();
            parameters = camera.getParameters();
        } else {
            showNoFlashAlert();
        }
    }
    private class FlashOnOffListener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            if(isFlashLightOn){
                flashLightButton.setImageResource(R.drawable.flashlight_off);
                parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
                camera.setParameters(parameters);
                camera.stopPreview();
                isFlashLightOn = false;
            }else{
                flashLightButton.setImageResource(R.drawable.flashlight_on);
                parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
                camera.setParameters(parameters);
                camera.startPreview();
                isFlashLightOn = true;
            }
        }
    }
    private void showNoFlashAlert() {
        new AlertDialog.Builder(this)
                .setMessage("Your device hardware does not support flashlight!")
                .setIcon(android.R.drawable.ic_dialog_alert).setTitle("Error")
                .setPositiveButton("Ok", new OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        finish();
                    }
                }).show();
    }
    private boolean isFlashSupported() {
        PackageManager pm = getPackageManager();
        return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
    }
    @Override
    protected void onDestroy() {
        if(camera != null){
            camera.stopPreview();
            camera.release();
            camera = null;
        }
        super.onDestroy();
    }
}

请查看以下Github页面以获取您的解决方案:

https://github.com/stwalkerster/strobelight

最新更新