首先这些功能都是通过Intent去启动系统的服务去实现的,所以自然就有相应的Action。相关Actiong如下:

  拍照——MediaStore.ACTION_IMAGE_CAPTURE ("android.media.action.IMAGE_CAPTURE")

  相册——Intent.ACTION_GET_CONTENT("android.intent.action.GET_CONTENT" 同时要设置,intent.setType("image/*");)

  裁剪——"com.android.camera.action.CROP"(需要设置图片来源 intent.setDataAndType(uri, "image/*");  )

  而下面表格中的参数则是在发送Intent时,添加一些额外的数据约束实现以下额外的功能

附加选项 数据类型 描述
crop String 发送裁剪信号                               intent.putExtra("crop", "true");
aspectX int X方向上的比例                             intent.putExtra("aspectX", 1);
aspectY int Y方向上的比例                             intent.putExtra("aspectY", 1);
outputX int 裁剪区的宽                                  intent.putExtra("outputX", 240);
outputY int 裁剪区的高                                  intent.putExtra("outputX", 320);
scale boolean 是否保留比例                               intent.putExtra("scale", true);
return-data boolean 是否将数据保留在Bitmap中返回     intent.putExtra("return-data", true);
data Parcelable 相应的Bitmap数据                       intent.putExtra("data", imgaeUri);
circleCrop boolean 圆形裁剪区域                              intent.putExtra("circleCrop", true);
MediaStore.EXTRA_OUTPUT ("output") URI

将URI指向相应的file:///...           intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

outputFormat String 输出格式                                    intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());  
noFaceDetection boolean 是否取消人脸识别功能                  intent.putExtra("noFaceDetection", true); 

  又因为这些操作都是需要结果返回的,所以都是使用startActivityForResult来进行Intent的发送,然后在本Activity进行接收处理。

最新文章

  1. MAC 安装j2ee.sh的办法
  2. Jenkins问题汇总
  3. 网站启动SSL, http变为https后,session验证码错误解决方法
  4. Android开发之Java必备基础
  5. 【转】iOS中流(Stream)的使用
  6. Chrome 开发者工具详解(4):Profiles 面板
  7. C++中的动态类型与动态绑定、虚函数、运行时多态的实现
  8. [原创].NET 分布式架构开发实战之一 故事起源
  9. mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)
  10. PhantomJS 与python的结合
  11. 转每天一个linux命令(7):mv命令
  12. 01Vue数据双向绑定
  13. HTML基础上
  14. 安全研究 | Jenkins 任意文件读取漏洞分析
  15. requestAnimationFrame移动端实现回到顶部效果
  16. python-day6面向对象、类的继承
  17. Nginx + tomcat服务器 负载均衡
  18. js之观察者模式
  19. Android短信收发(二)
  20. PostMessage实现多窗口之间的数据传递

热门文章

  1. 【51NOD】1717 好数
  2. 【Atcoder】ARC 080 E - Young Maids
  3. [bzoj1588][HNOI2002]营业额统计——splay
  4. win8优化
  5. 两个kernel.org国内镜像
  6. Backbone Model 源码简谈 (版本:1.1.0 基础部分完毕)
  7. C# 获取存在DataTable1不存在DataTable2的数据的快速方法
  8. 使用div实现progress进度条
  9. Ubuntu服务器安装node
  10. webupload在IE9-出现的问题解决