安卓應用開發呼叫系統相機教程

  當一些應用要上傳圖片和視訊時常常要呼叫常常會呼叫安卓系統的相機來照相和錄影,也可以利用安卓系統提供的API自己實現照相和錄影功能,下面是小編給大家整理的一些有關,希望對大家有幫助!

  

  啟動系統相機:圖中程式碼可以啟動系統相機照相機,new了Intent之後,設定好Actionadd和Category後呼叫startActivity***intent***方法啟動相機。程式碼片段:

  Intent intent = new Intent******;intent.setAction***"android.media.action.IMAGE_CAPTURE"***;intent.addCategory***"android.intent.category.DEFAULT"***;this.startActivity***intent***;

  保修圖片到固定目錄:當然,也許我們更希望把圖片儲存到指定的目錄下,下面新增的程式碼可以把相片儲存到SD卡目錄下。程式碼片段:

  Intent intent = new Intent******; intent.setAction***"android.media.action.IMAGE_CAPTURE"***; intent.addCategory***"android.intent.category.DEFAULT"***; File file = new File***Environment.getExternalStorageDirectory******+"/000.jpg"***; Uri uri = Uri.fromFile***file***; intent.putExtra***MediaStore.EXTRA_OUTPUT, uri***; this.startActivity***intent***;

  呼叫系統相機錄影:這部分程式碼和照相時基本一樣,除了intent.setAction***"android.media.action..VIDEO_CAPTURE"***一句。程式碼片段:

  Intent intent = new Intent******; intent.setAction***"android.media.action.VIDEO_CAPTURE"***; intent.addCategory***"android.intent.category.DEFAULT"***; File file = new File***Environment.getExternalStorageDirectory******+"/000.3gp"***; Uri uri = Uri.fromFile***file***; intent.putExtra***MediaStore.EXTRA_OUTPUT, uri***; this.startActivityForResult***intent, 0***;

  處理結果:如果呼叫相機結束想要處理結果,那麼應該改用startActivityForResult******啟動相機,並且重寫onActivityResult******方法。程式碼片段:

  @Override protected void onActivityResult***int requestCode, int resultCode, Intent data*** { // 新增處理相機呼叫完程式碼 super.onActivityResult***requestCode, resultCode, data***; }

  為測試程式碼設計下面簡單程式,照相按鈕和錄影按鈕對應上面的public void getPhoto***View v*** 和public void getVideo***View v***方法。

  執行結果:圖分別是照相、錄影、和用adb shell 檢視生成檔案。

  END