[英]android camera function getcameraIdlist() function does not return anything
IllegalArguementException
。 manifest
中給出了所有permissions
,列表似乎也不會填充。 一旦打開“ 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.