我正在实现Camera2,并且在设置相机输出时(我从谷歌示例获得代码)得到以下警告(无法再现任何可能发生的"npe“)--下面的行给我以下警告:
“解除对'characteristics.get(CameraCharacteristics.LENS_FACING)‘的限制可能产生NPE。”
for (String cameraId : manager.getCameraIdList()) {
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
if (characteristics.get(CameraCharacteristics.LENS_FACING)
== CameraCharacteristics.LENS_FACING_FRONT) { //THESE LINE IS WHERE THE WARNING APPEARS
continue;
}
....有人知道如何以适当的方式检查这件事,以便抓住它,以防发生这种情况?
发布于 2015-12-21 18:55:58
您正在将其与原始int进行比较,而characteristics.get(CameraCharacteristics.LENS_FACING)可能正在返回一个作为对象的Integer。所发生的是你会
Integer integer = characteristics.get(CameraCharacteristics.LENS_FACING);
if (integer.intValue() == CameraCharacteristics.LENS_FACING_FRONT) {
}如果integer为空,则将得到访问intValue()的NPE
https://stackoverflow.com/questions/34402419
复制相似问题