安卓應(yīng)用開發(fā)調(diào)用系統(tǒng)相機(jī)教程
安卓應(yīng)用開發(fā)調(diào)用系統(tǒng)相機(jī)教程
當(dāng)一些應(yīng)用要上傳圖片和視頻時(shí)常常要調(diào)用常常會調(diào)用安卓系統(tǒng)的相機(jī)來照相和錄像,也可以利用安卓系統(tǒng)提供的API自己實(shí)現(xiàn)照相和錄像功能,下面是學(xué)習(xí)啦小編給大家整理的一些有關(guān)安卓應(yīng)用開發(fā)調(diào)用系統(tǒng)相機(jī)教程,希望對大家有幫助!
安卓應(yīng)用開發(fā)調(diào)用系統(tǒng)相機(jī)教程
啟動系統(tǒng)相機(jī):圖中代碼可以啟動系統(tǒng)相機(jī)照相機(jī),new了Intent之后,設(shè)置好Actionadd和Category后調(diào)用startActivity(intent)方法啟動相機(jī)。代碼片段:
Intent intent = new Intent();intent.setAction("android.media.action.IMAGE_CAPTURE");intent.addCategory("android.intent.category.DEFAULT");this.startActivity(intent);
保修圖片到固定目錄:當(dāng)然,也許我們更希望把圖片保存到指定的目錄下,下面添加的代碼可以把相片保存到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);
調(diào)用系統(tǒng)相機(jī)錄像:這部分代碼和照相時(shí)基本一樣,除了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);
處理結(jié)果:如果調(diào)用相機(jī)結(jié)束想要處理結(jié)果,那么應(yīng)該改用startActivityForResult()啟動相機(jī),并且重寫onActivityResult()方法。代碼片段:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // 添加處理相機(jī)調(diào)用完代碼 super.onActivityResult(requestCode, resultCode, data); }
為測試代碼設(shè)計(jì)下面簡單程序,照相按鈕和錄像按鈕對應(yīng)上面的public void getPhoto(View v) 和public void getVideo(View v)方法。
運(yùn)行結(jié)果:圖分別是照相、錄像、和用adb shell 查看生成文件。
END
看了“安卓應(yīng)用開發(fā)調(diào)用系統(tǒng)相機(jī)教程”的人還看了