Android 为什么照相机闪光灯没有打开,CameraAccessException类的下划线为红色?
我正在尝试制作一个火炬灯应用程序,但我无法正确地打开它。我使用了以下逻辑来打开它。请告诉我哪里出了问题。当我在安卓手机上运行时,它运行正常,但手电筒无法启动Android 为什么照相机闪光灯没有打开,CameraAccessException类的下划线为红色?,android,android-camera,android-camera2,Android,Android Camera,Android Camera2,我正在尝试制作一个火炬灯应用程序,但我无法正确地打开它。我使用了以下逻辑来打开它。请告诉我哪里出了问题。当我在安卓手机上运行时,它运行正常,但手电筒无法启动 if (count[0] == 0) { count[0] = 1; ((TransitionDrawable) imageView.getDrawable()).startTransition(3000); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
if (count[0] == 0) {
count[0] = 1;
((TransitionDrawable) imageView.getDrawable()).startTransition(3000);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
CameraManager camManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String cameraId = null; // Usually back camera is at 0 position.
try {
cameraId = camManager.getCameraIdList()[0];
camManager.setTorchMode(cameraId, true); //Turn ON
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
} else {
count[0] = 0;
((TransitionDrawable) imageView.getDrawable()).reverseTransition(3000);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
CameraManager camManager1 = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String cameraId = null; // Usually back camera is at 0 position.
try {
cameraId = camManager1.getCameraIdList()[0];
camManager1.setTorchMode(cameraId, false); //Turn ON
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
}
您所编写的代码在Android Marshmallow+上完全可用
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
此行检查您运行应用程序的Android版本。它仅在Android版本6+(API级别23+)上执行if
块中的代码
您需要添加
else
部分,使用一种更老的方法打开手电筒,如下方法:只是为了确定,您运行它的Android版本是什么?在KitKat手机上运行它。您是否知道如果(Build.version.SDK\u INT>=Build.version\u CODES.M)会发生什么{
是吗?我现在知道应该是16岁了……但是有些女同学失败了,感谢它的帮助!!:)