2015-06-25 134 views
2
  1. 代碼生成IllegalArguementException
  2. 儘管manifest中給出了所有permissions,但該列表似乎並未填充。
  3. 應用程序崩潰只要Activity打開。安卓相機功能getcameraIdlist()函數不返回任何東西

    公共類照片延伸活動{0}私人處理程序mhandler; public CameraDevice cam; private CameraDevice.StateCallback mcallback;

    public void setCallback(CameraDevice.StateCallback callback) { 
        this.mcallback = callback; 
    } 
    
    public void setHandler(Handler handler) { 
        this.mhandler = handler; 
    } 
    
    
    int count=0; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main_photo); 
    
        String[] list=new String[10]; 
        CameraManager camera = (CameraManager) getSystemService(Context.CAMERA_SERVICE); 
    
        setCallback(mcallback); 
        setHandler(mhandler); 
        ListView cami = (ListView) findViewById(R.id.lv); 
    
        ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.main_photo, R.id.textView2, list); 
    
        cami.setAdapter(adapter); 
    
        try 
    
        { 
         list = camera.getCameraIdList(); 
         count++; 
    
        } catch (CameraAccessException e) 
    
        { 
         e.printStackTrace(); 
        } 
    
    
    
    
         try 
    
         { 
          camera.openCamera(list[0], mcallback, mhandler); 
          mcallback.onOpened(cam); 
    
    
         } catch (CameraAccessException e) 
    
         { 
          e.printStackTrace(); 
    
          Log.d("Photo", "Error in opening camera"); 
         } catch (IllegalArgumentException a) 
    
         { 
          Log.d("Callback", "Callback Problem"); 
         } 
    
        } 
    
+0

哪個調用產生所述異常? –

回答

0

除非我失去了一些東西,儘可能我可以告訴mhandler和mcallback在你調用setCallback(mcallback)setHandler(mhandler)兩空。嘗試在致電camera.openCamera(list[0], mcallback, mhandler)之前驗證這兩個變量。

作爲附註,數組String[] list=new String[10]從不使用,您的變量將在7行後重新分配。也許相反,使用String[] list;然後7行後,使用list = camera.getCameraIdList();或簡單地String[] list=camera.getCameraIdList();

相關問題