调用takePicture时,android设备会覆盖flash模式

时间:2018-01-15 18:03:21

标签: android flash camera torch

我的Android手机iGet Blackview BV6000s有一个奇怪的问题。我需要在预览和实际拍摄期间将闪光模式设置为手电筒模式。不幸的是,看起来,有些东西覆盖了我的代码,当调用takePicture时,闪存会消失,而不是像常规闪存一样。

可能是那个“自定义”android中的东西,该设备已经预先安装了吗?

我在我的实际应用旁边做了一个最小的例子,它的行为相同。

预览设置:

@Override
protected void onResume() {
    super.onResume();
    int numCams = Camera.getNumberOfCameras();
    if(numCams > 0){
        try{
            camera = Camera.open(findBackFacingCamera());
            Camera.Parameters parameters = camera.getParameters();
            parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            if (getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
                parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
            }
            camera.setDisplayOrientation(90);
            camera.setParameters(parameters);
            camera.startPreview();
            preview.setCamera(camera);
        } catch (RuntimeException ex){
            Toast.makeText(ctx, getString(R.string.camera_not_found), Toast.LENGTH_LONG).show();
        }
    }
}

调用takePicture:

preview.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            camera.takePicture(shutterCallback, rawCallback, jpegCallback);
        }
    });

0 个答案:

没有答案