2015-12-21 30 views
-1

我正在實施Camera2,並且我收到以下警告(我無法再現可能發生的任何「npe」 )當我設置攝像機輸出(我得到的google樣品我的代碼)以下行給我以下警告:Android攝像頭:'features.get(CameraCharacteristics.LENS_FACING)'的拆箱可能會產生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; 
     } 
    .... 

是否有人知道如何以適當的方式,以趕上這在它發生的情況下檢查一下?

回答

0

您正在比較它與原始intcharacteristics.get(CameraCharacteristics.LENS_FACING)可能會返回一個對象Integer。什麼情況是,你將有

Integer integer = characteristics.get(CameraCharacteristics.LENS_FACING); 
if (integer.intValue() == CameraCharacteristics.LENS_FACING_FRONT) { 

} 

如果integer爲空,你會得到一個NPE訪問intValue()