簡體   English   中英

android camera函數getcameraIdlist()函數不返回任何內容

[英]android camera function getcameraIdlist() function does not return anything

  1. 該代碼產生一個IllegalArguementException
  2. 即使manifest中給出了所有permissions ,列表似乎也不會填充。
  3. 一旦打開“ Activity ”, 應用程序就會崩潰

    公共類照片擴展了Activity {private Handler mhandler; 公共CameraDevice凸輪; 私有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"); } } 

除非我丟失了某些東西,據我所知,在對setCallback(mcallback)setHandler(mhandler)調用中,mhandler和mcallback均為null。 在調用camera.openCamera(list[0], mcallback, mhandler)之前,請嘗試驗證這兩個變量。

附帶說明,從未使用數組String[] list=new String[10]並且在7行之后重新分配了變量。 也許改為使用String[] list; 然后7行,使用list = camera.getCameraIdList(); 或者只是String[] list=camera.getCameraIdList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM