以下是我用来打开Torch并关闭它的代码。但当我关闭它时,它会崩溃。 LogCat说“运行时异常:无法连接到摄像头服务”!
+ hasFlash没有获得任何值,并抛出Nullpointer异常。 (我用它来检查闪光灯是否存在。)
我做错了什么?
boolean hasFlash = this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
if(hasFlash==true)
{
if(s.equalsIgnoreCase("FlashLight On") || s.equalsIgnoreCase("Flash Light On"))
{
Camera cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
return "Turning on";
}
if(s.equalsIgnoreCase("FlashLight Off") || s.equalsIgnoreCase("Flash Light Off"))
{
Camera cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
cam.setParameters(p);
cam.stopPreview();
cam.release();
return "Turning off";
}
}
else
{
return "Flash Not Available";
}
答案 0 :(得分:0)
更改
Camera cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
cam.setParameters(p);
cam.stopPreview();
cam.release();
return "Turning off";
到
cam.stopPreview();
cam.release();
return "Turning off";
我遇到了很多这样的问题,为Android构建了一个开源手电筒,可以帮助您解决更多问题。