【发布时间】:2016-04-07 07:04:12
【问题描述】:
我正在开发 Flash 警报应用程序。我陷入了一个问题。我想检查相机手电筒灯是否已经打开。我做了一项研究找到了答案,但没有解决我的问题。
这是我检查手电筒状态的代码;
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;
}
通过手机的小部件在系统手电筒上检查这个我。并运行这段代码,它给了我日志值“flash mode”,“off”。所以如果案例永远不会打电话。 我正在 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" />
请帮我解决这个问题。
【问题讨论】:
-
播种问题是如何知道手电筒是打开还是关闭?
-
Ben_Gratvol 能否给我更详细的答案,我无法理解。