2

我正在使用 LG Optimus 3D 模型,当我将相机切换到视频录制模式时,我可以打开手电筒。在正常拍摄模式下,我只能打开闪光灯。

我尝试了几种方法,将不同的参数添加到 Camera 对象中,但它们都不起作用。我的代码如下:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_flash_light);



    PackageManager pm = getPackageManager();

    if (! pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)){
        Toast.makeText(this, "Your phone does not have flash light support.", Toast.LENGTH_LONG).show();
        finish();
    }

    camera = Camera.open(); 
    cParameters = camera.getParameters();



    cParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(cParameters);

}

没有一点我不能以编程方式打开它,我已经检查如下以确保我的手机支持手电筒模式,事实上,我真的能够为我的设备打开它。

List<String> abc = cParameters.getSupportedFlashModes();

        for (String a : abc){
            Log.d("mode: ", a);
}

请帮忙,无论如何要这样做?* 固件为 2.2

4

1 回答 1

1

使用以下

 context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

查看闪光灯是否可用。它将返回真或假。

更多关于如何实际实现代码的信息。

如何打开安卓手电筒

在 Android 中使用相机手电筒

如何在 Android 中以编程方式打开相机闪光灯?

于 2012-09-02T10:24:57.687 回答