怎么实现调用安卓手机的拍照功能? 怎么实现调用安卓手机的拍照功能? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File path = new File(mstrPath); if(!path.exists()) path.mkdirs(); mstrFileName = Global.GetTime2() + ".jpg"; mstrFilePath = mstrPath + "/" + mstrFileName; Log.e(Global.TAG, mstrFilePath); File file = new File(mstrFilePath); Uri uri = Uri.fromFile(file); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); startActivityForResult(intent, 1); 使用 SurfaceView 控件来显示摄像头捕捉到的画面 <SurfaceView android:layout_width="fill_parent" android:layout_height="240dip" android:id="@+id/surfaceView" /> /* 获取 SurfaceView 控件 */ SurfaceView surfaceView = (SurfaceView)this.findViewById(R.id.surfaceView); /* 设置分辨率 */ surfaceView.getHolder().setFixedSize(176, 144); /* 下面设置Surface 不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前*/ surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); /* 打开摄像头,注意这里是 android.hardware.Camera */ Camera camera = Camera.open(); /* 为 Camera 设置摄像参数 */ Camera.Parameters parameters = camera.getParameters(); /* 设置预览照片的大小,此处设置为全屏 */ WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); // 获取当前屏幕管理器对象 Display display = wm.getDefaultDisplay(); // 获取屏幕信息的描述类 parameters.setPreviewSize(display.getWidth(), display.getHeight()); // 设置 /* 每秒从摄像头捕获5 帧画面, */ parameters.setPreviewFrameRate(5); /* 设置照片的输出格式:jpg */ parameters.setPictureFormat(PixelFormat.JPEG); /* 照片质量 */ parameters.set("jpeg-quality", 85); /* 设置照片的大小:此处照片大小等于屏幕大小 */ parameters.setPictureSize(display.getWidth(), display.getHeight());/* 将参数对象赋予到 camera 对象上 */ camera.setParameters(parameters); /* 设置用 SurfaceView 作为承载镜头取景画面的显示 */ camera.setPreviewDisplay(surfaceView.getHolder()); /* 开始预览 */ camera.startPreview(); /* 自动对焦 */ camera.autoFocus(null); /* 拍照片 */ camera.takePicture(null, null, null, jpegCallback); /* 停止预览 */ camera.stopPreview(); /* 释放摄像头 */ camera.release(); 添加使用摄像头的权限 <uses-permission android:name="android.permission.CAMERA"/> 内存溢出,如何释放资源 请问android怎么监听软键盘的event? android中自动完成查询如何实现 Android系统开发的请进 用Jsoup抓取数据,如何设置适配手机网络也能抓取 android 微信雷达功能 (新手)android 活动用意图链接跳转 在虚拟机上运行时 程序停止运行 (100分,解决立马结贴)方法中 如何等待子线程结束后在返回结果??? (十万火急) 请问类似仿淘宝的物流详情流转信息的展示该如何做? 这个问题真够郁闷的,程序员真伤 SIM卡开发 来电界面上的问题
File path = new File(mstrPath);
if(!path.exists())
path.mkdirs();
mstrFileName = Global.GetTime2() + ".jpg";
mstrFilePath = mstrPath + "/" + mstrFileName;
Log.e(Global.TAG, mstrFilePath);
File file = new File(mstrFilePath);
Uri uri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, 1);
Display display = wm.getDefaultDisplay(); // 获取屏幕信息的描述类 parameters.setPreviewSize(display.getWidth(), display.getHeight()); // 设置 /* 每秒从摄像头捕获5 帧画面, */ parameters.setPreviewFrameRate(5); /* 设置照片的输出格式:jpg */ parameters.setPictureFormat(PixelFormat.JPEG); /* 照片质量 */ parameters.set("jpeg-quality", 85); /* 设置照片的大小:此处照片大小等于屏幕大小 */ parameters.setPictureSize(display.getWidth(), display.getHeight());
/* 将参数对象赋予到 camera 对象上 */ camera.setParameters(parameters); /* 设置用 SurfaceView 作为承载镜头取景画面的显示 */ camera.setPreviewDisplay(surfaceView.getHolder()); /* 开始预览 */ camera.startPreview(); /* 自动对焦 */ camera.autoFocus(null); /* 拍照片 */ camera.takePicture(null, null, null, jpegCallback); /* 停止预览 */ camera.stopPreview(); /* 释放摄像头 */ camera.release();
添加使用摄像头的权限 <uses-permission android:name="android.permission.CAMERA"/>