我正在开发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" />
请帮我摆脱这个问题。
答案 0 :(得分:0)
如果在闪光灯关闭时闪光灯开启和关闭,您可以定义一个布尔变量并将其设置为true。借助该布尔变量,您可以检查闪光灯的状态。希望这会有所帮助。