无法检查相机FlashLight模式

时间:2016-01-03 15:18:40

标签: java android flash camera

我正在开发Flash Alert应用程序。我陷入了一个问题。我想检查相机火炬指示灯是否已打开。我做了一个研究发现答案,但没有解决我的问题。

  

这是我检查手电筒状态的代码;

try
                    {
                        camera = Camera.open();
                        onParams = camera.getParameters();
                        if (onParams != null)
                            {
                                Log.e("flash mode", onParams.getFlashMode());
                                if (onParams.getFlashMode().equals(Camera.Parameters.FLASH_MODE_TORCH))
                                    {
                                        camera.stopPreview();
                                        camera.release();
                                        return true;
                                    }
                            }
                        onParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                        camera.startPreview();

                        return false;

                    }
                catch (Exception e)
                    {
                        e.printStackTrace();
                        return true;
                    }

通过移动设备小部件来检查我的系统手电筒。并运行此代码,它给我日志值“闪烁模式”,“关闭”。所以如果案件从不打电话。 我正在使用Galaxy s3 Android 4.3,API级别19进行测试。

  

这是我的明显权限

<uses-feature android:name="android.hardware.camera.flash" />
    <uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="true" />

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

    <!-- Camera Permissions -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
  

请帮我摆脱这个问题。

1 个答案:

答案 0 :(得分:0)

如果在闪光灯关闭时闪光灯开启和关闭,您可以定义一个布尔变量并将其设置为true。借助该布尔变量,您可以检查闪光灯的状态。希望这会有所帮助。