【发布时间】:2017-03-19 12:52:51
【问题描述】:
我正在尝试制作一个简单的按钮来打开/关闭设备手电筒。我不明白为什么 android.hardware.camera 已经过时了。为了使我的代码在所有设备以及具有旧版本 Android 的设备上运行,我必须做些什么?
这是我的代码:
if (IsFlashlightOn)
{
if (getPackageManager().hasSystemFeature(
PackageManager.FEATURE_CAMERA_FLASH))
{
cam = Camera.open();
Camera.Parameters p = cam.getParameters();
p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();
}
else
{
try
{
cam.stopPreview();
cam.release();
cam = null;
}
catch (Exception ex)
{
// Ignore the exception
}
}
}
【问题讨论】:
-
这段代码有效吗?在具有特定 Android 版本的设备上运行它是否有问题?哪一个?在您询问有关 Android N 的主题中以及在您提到旧 Android 版本的消息中,令人困惑的是什么。
-
我有一个三星 Galaxy S5,我可以让我的设备手电筒打开,但我不能让它关闭。我的代码中有几行代码显示 Camera 对象已过时,我不知道该怎么办。
-
好的,现在我明白你的问题了。我在下面发布了常规答案。你可以检查一下。我希望它会有所帮助。
标签: java android flashlight