安卓应用开发实战:[18]调用系统相机

2025-06-06 18:13:21

1、启动系统相机:图中代码可以启动系统相机照相机,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);

安卓应用开发实战:[18]调用系统相机

2、保修图片到固定目录:当然,也许我们更希望把图片保存到指定的目录下,下面添加的代码可以把相片保秽颢擤崮存到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);

安卓应用开发实战:[18]调用系统相机

3、调用系统相机录像:这部分代码和照相时基本一样,除了intent.setA罕铞泱殳ction("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);

安卓应用开发实战:[18]调用系统相机

4、处理结果:如果调用相机结束想要处理结果,那么应该改用startActivityForResult()启动相机,并且重写onActivityResult()方法。代码片段:@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// 添加处理相机调用完代码super.onActivityResult(requestCode, resultCode, data);}

安卓应用开发实战:[18]调用系统相机

5、为测试代码设计下面简单程序,照相按钮和录像按钮对应上面的public void getPhoto(View v) 和public void getVideo(View v)方法。

安卓应用开发实战:[18]调用系统相机

6、运行结果:图分别是照相、录像、和用adb shell 查看生成文件。

安卓应用开发实战:[18]调用系统相机
安卓应用开发实战:[18]调用系统相机
安卓应用开发实战:[18]调用系统相机
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢