intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

startActivityForResult(intent,

CROP_PHOTO); //启动裁剪程序

}

break;

case CROP_PHOTO:

if (resultCode == RESULT_OK) {

try {

Bitmap bitmap = BitmapFactory.decodeStream

(getContentResolver()

.openInputStream(imageUri));

picture.setImageBitmap(bitmap); //将裁剪后的照片显示出来

} catch (FileNotFoundException e) {

e.printStackTrace();

}

}

break;

default:

break;

}

}

}

上述代码稍微有点复杂,我们来仔细地分析一下。在 MainActivity 中要做的第一件事自

然是分别获取到 Button 和 ImageView 的实例,并给 Button 注册上点击事件,然后在 Button 的点击事件里开始处理调用摄像头的逻辑,我们重点看下这部分代码。

首先这里创建了一个 File 对象,用于存储摄像头拍下的图片,这里我们把图片命名为 output_image.jpg , 并 将 它 存 放 在

手 机 SD  卡 的 根

目 录 下 , 调 用 Environment 的 getExternalStorageDirectory() 方法获取到的就是手机

SD

卡的根目录。然后再调用 Uri 的 fromFile()方法将 File 对象转换成 Uri

对象,这个 Uri 对象标识着 output_image.jpg 这张图片 的唯一地址。接着构建出一个 Intent 对象,并将这个 Intent 的 action 指定为 android.media.action. IMAGE_CAPTURE,再调用 Intent 的 putExtra()方法指定图片的输出地址,这里填入刚刚得 到的 Uri 对象,最后调用 startActivityForResult()来启动活动。由于我们使用的是一个隐式 Intent,系统会找出能够响应这个 Intent 的活动去启动,这样照相机程序就会被打开,拍下的

照片将会输出到 output_image.jpg 中。

注意刚才我们是使用 startActivityForResult()来启动活动的,因此拍完照后会有结果返回 到 onActivityResult()方法中。如果发现拍照成功,则会再次构建出一个 Intent 对象,并把它 的

action 指定为 com.android.camera.action.CROP。这个 Intent 是用于对拍出的照片进行裁剪的,因为摄像头拍出的照片都比较大,而我们可能只希望截取其中的一小部分。然后给这个

adb 前摄像头 调用_android: 调用摄像头拍照相关推荐

  1. C# 利用Aforge调用本机摄像头完成拍照,录像

    用C#做了一个简单的摄像头录像项目,记录一下. 实现功能 打开.关闭摄像头并显示相应画面 实现拍照功能 实现录像功能 实现保存图片.录像的功能 运行界面效果 winForm控件 首先安装NuGet程序 ...

  2. vue实现PC端调用摄像头拍照人脸录入、移动端调用手机前置摄像头人脸录入、及图片旋转矫正、压缩上传base64格式/文件格式

    PC端调用摄像头拍照上传base64格式到后台,这个没什么花里胡哨的骚操作,直接看代码 (canvas + video) <template><div><!--开启摄像头 ...

  3. vue调用电脑端摄像头实时拍照

    vue调用电脑端摄像头实时拍照 需求描述 功能实现 效果展示 需求描述 点击照相机拍照,弹出照相机拍照弹窗,点击拍照按钮,截取录像的帧,点击保存,提交数据给后台. 功能实现 1.html模块 //点击 ...

  4. html调起苹果手机摄像头_HTML5如何调用手机摄像头拍照实现方法介绍

    HTML5如何调用安卓手机摄像头拍照实现方法介绍.HTML5 The Media Capture API提供了对摄像头的可编程访问,可以直接用getUserMedia获得摄像头提供的视频流.其实实际上 ...

  5. HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试

    为什么80%的码农都做不了架构师?>>>    但是navigator.getUserMediau已经从 Web 标准中删除,虽然部分浏览器可以使用,生产环境中还是要做好兼容.新的A ...

  6. html5 android6.0摄像头,HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试...

    但是navigator.getUserMediau已经从 Web 标准中删除,虽然部分浏览器可以使用,生产环境中还是要做好兼容.新的API更替为MediaDevices.getUserMedia.Me ...

  7. QT:在QT中调用摄像头并实现简单的拍照功能

    要在QT中使用摄像头,就要链接多媒体模块以及多媒体工具模块: QT += multimedia QT += multimediawidgets 废话少说,直接上代码,想说的都在代码里面斜体样式: ma ...

  8. 使用基于 WebRTC 的 JavaScript API 在浏览器环境里调用本机摄像头

    HTML5,JavaScript 和现代浏览器这套三驾马车的组合,使得传统的 Web 应用较之过去能实现更多更丰富的同用户交互的功能.摄像头如今已成为智能手机的标配,前端 Web 应用也出现了越来越多 ...

  9. android调用相册和摄像头,Android8.3调用摄像头和相册

    我们平时在使用QQ或微信的时候经常要和别人分享图片,这些图片可以是用手机摄像头拍的,也可以是从相册中选取的.类似这样的功能实在是太常见了,几乎在每个应用程序中都会有,那么本节我们就学习一下调用摄像头和 ...

最新文章

  1. SharePoint Application Page启用匿名访问
  2. 坚持完成这套学习手册,你就可以去 Google 面试了
  3. synchronized(this)用法
  4. VTK:PolyData之MergeSelections
  5. 扩展thinkphp5的redis类方法
  6. SharePoint 升级 Web Site 模式
  7. android 底部黑边,android – 截屏周围的黑色边缘
  8. csuoj 1351: Tree Counting
  9. php 当前页面停留时间,PHP 记录页面停留时间
  10. linux由哪些部分组成,linux内核处于什么位置?,Linux由几部分组成?Linux系统结构介绍!...
  11. 中国移动互联网行业深度报告
  12. php源码添加多国语言包,为win7系统添加多国语言包的方法
  13. 帝国CMS采集帝国模板程序通用
  14. android 滑动标签框架,Android实现网易严选标签栏滑动效果
  15. ubuntu系统构建VNC虚拟远程桌面
  16. 干货|机器学习-稀疏矩阵的处理
  17. xshell中重启指令_远程服务器Xshell的使用 -- 重启服务器操作 和 linux的常用命令...
  18. Unity错误解决GetType().Name+“OnInspectorGUI must call ApplyRevertGUI to avoid unexpected behaviour.“
  19. 一键分享到微博、QQ、微信、QQ空间、豆瓣、人人网、开心网、百度贴吧~
  20. 凤翅医话——治腰椎间盘突出

热门文章

  1. 数据库系统概念-第六版 - charter 1 - 笔记
  2. 全新二开PHP自适应极简多引擎搜索单页网站源码
  3. java swing 创建一个简单的QQ界面
  4. linux lsmod命令 及相关信息
  5. 多伦多大学计算机科学专业录取ib,多伦多大学要求IB多少分
  6. shell系列9-awk
  7. React-native实现联系人列表分组组件
  8. 通过adb安装apk到android手机
  9. HTML复选框,点击文字,对应的复选框选中
  10. C# EF 拼接OR