请求系统相册有三个Action:

(注意以下  图库(缩略图)   和  图片(原图)  的区别)

ACTION_OPEN_DOCUMENT    仅限4.4或以上使用  默认打开原图
 ACTION_GET_CONTENT       4.4以下默认打开缩略图  。 以上打开文件管理器 供选择,选择图库打开为缩略图页面,选择图片打开为原图浏览。
 ACTION_PICK                      都可用,打开默认是缩略图界面,还需要进一步点开查看。

下面会详细介绍他们在不同版本系统中的测试结果区别:

测试系统:adroid 4.4.2   夜神模拟器
content://com.android.providers.media.documents/document/image%3A1372>>ACTION_OPEN_DOCUMENT从图片获取,打开是文件管理器的图片选择器,但是只能选择图片不能选图库,也不能选择其他文件
content://com.android.providers.media.documents/document/image%3A1372>>ACTION_GET_CONTENT从图片获取  打开的还是文件管理器,可以选择图库也可以选择图片
 content://media/external/images/media/1372>>>>>>>>》》》ACTION_GET_CONTENT从图库获取
 content://media/external/images/media/1541>>>>>>>>》》》》ACTION_PICK默认打开图库,没法选择图库还是图片
 
 综上: uri只跟 图库还是图片选择有关,跟action无关,是选择图片还是图库才跟action有关
 
 测试系统: android 4.4.4
 ACTION_OPEN_DOCUMENT  ACTION_GET_CONTENT都是直接打开图片,页面比较漂亮
 ACTION_PICK默认打开图库,界面比较丑
 
 测试系统:android 6.0   华为
 content://com.android.providers.media.documents/document/image%3A35144>>>ACTION_OPEN_DOCUMENT  不可选图库还是图片
 content://com.android.providers.media.documents/document/image%3A176>  ACTION_GET_CONTENT选择图片中的
  content://media/external/images/media/35144>>>>>>>>》》》》ACTION_GET_CONTENT选择图库中的
  content://media/external/images/media/35144>>>>>>>>》》》》》ACTION_PICK默认打开图库,没法选择图库还是图片
 
 测试系统:android4.2.1  华为
 ACTION_GET_CONTENT  弹出图库和文件管理器,供选择
 ACTION_OPEN_DOCUMENT   直接崩,不能使用
 ACTION_PICK  直接打开图库
 
 
 综上得出   :
 结论一:
 ACTION_OPEN_DOCUMENT  直接打开的是图片   
 ACTION_GET_CONTENT       打开后可选择是图库获取还是图片获取  
 ACTION_PICK  直接打开的就是图库
 结论二:
 从图片获取到的uri 格式为:content://com.android.providers.media.documents/document/image%3A35144>>>
 cong图库获取到的uri格式为:content://media/external/images/media/35144>>>>>>
 结论三:
 4.4.4以上版本android系统,图片的界面比图库的界面好看。
 
 结论四:
 content://media/external/images/media/35144这种格式,转换成路径后可以直接用
 content://com.android.providers.media.documents/document/image%3A35144这种格式,转换成路径后不能直接用。
 
 结论五:
 ACTION_OPEN_DOCUMENT不能在android4.4以下版本用,否则会crash,我的低版本手机系统有问题,没办法打印log所以看不到崩溃原因,猜测是取不到数据,报空

android 系统相册调用,各版本的区别总结的更多相关文章

  1. Android 系统架构 和 各个版本代号介绍

    一.Android 系统架构: 1. linux内核层Android 基于Linux内核,为Android设备的各种硬件提供底层驱动 比如: 显示驱动.音频.照相机.蓝牙.Wi-Fi驱动,电源管理等 ...

  2. Android系统中Parcelable和Serializable的区别

    转载:https://greenrobot.me/devpost/android-parcelable-serializable/ 进行Android开发的时候,我们都知道不能将对象的引用传给Acti ...

  3. 【安卓开发】Android系统中Parcelable和Serializable的区别

    http://greenrobot.me/devpost/android-parcelable-serializable/ 进行Android开发的时候,我们都知道不能将对象的引用传给Activiti ...

  4. Android系统中Parcelable和Serializable的区别,自动化实现Parcelable接口的插件

    Parcelable和Serializable的区别 参考地址:http://greenrobot.me/devpost/android-parcelable-serializable/ 由于最终的区 ...

  5. 解决android应用程序适用新老android系统版本方法

    老的android系统不能运行高版本系统的新方法,为了解决这个问题:  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ...

  6. "浅谈Android"第一篇:Android系统简介

    近来,看了一本书,名字叫做<第一行代码>,是CSDN一名博主写的,一本Android入门级的书,比较适合新手.看了书之后,有感而发,想来进行Android开发已经有一年多了,但欠缺系统化的 ...

  7. 『与善仁』Appium基础 — 1、Android系统的测试环境搭建

    目录 1.Android操作系统简介 (1)Android系统诞生 (2)Android系统的结构 (3)Android测试环境搭建整体思路 2.Java环境安装 (1)JDK8下载 (2)安装JDK ...

  8. 走进Android系统

    一.Android背景 [Android定义] Android是Google公司在2007年11月5日公布的基于Linux平台的开源手机操作系统. [发展历程] 2005年,Google收购企业And ...

  9. Android系统编程入门系列之应用初始化Application

    在上一篇文章中我们了解到Android系统启动应用的时候,会首先加载AndroidManifest.xml清单文件中的一系列信息,在清单文件中如果不指定<application></ ...

随机推荐

  1. 离线下载Windows 调试符号 Symbols

    公司开发机没有不能连接到互联网.调试程序时那些Windows模块(如ntdll.dll)不能加载符号,而程序总是崩在这些模块里.想看一眼到底崩在了什么地方. 需要把对应的符号下载下来. 使用工具sym ...

  2. ARM 嵌入式中断

    1. SATA中断要打开,挂在fiq上(通过cpu中断的fiq中断enable位,对sata中断使能), 2.外设及GPIO中断打开,挂在irq上(通过cpu中断的irq 的enable位对其使能), ...

  3. Java基础之在窗口中绘图——绘制圆弧和椭圆(Sketcher 3 drawing arcs and ellipses)

    控制台程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...

  4. CSS文档流与块级元素和内联元素

    CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>, ...

  5. maven中下载jar包源码和javadoc

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  6. Lintcode: Nth to Last Node in List

    Find the nth to last element of a singly linked list. The minimum number of nodes in list is n. Exam ...

  7. CSS中 opacity的设置影响了index(层数)的改变

    在使用 opacity 属性来实现页面整体透明的时候,发现了一个问题.如果两个层发生了重叠,使用了 opacity 属性并且属性值小于1的层,会覆盖掉后面的层.于是动手做了个实验,来验证 opacit ...

  8. hduoj 4712 Hamming Distance 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4712 Hamming Distance Time Limit: 6000/3000 MS (Java/Other ...

  9. acm算法模板(2)

    数学问题: 1.精度计算——大数阶乘 2.精度计算——乘法(大数乘小数) 3.精度计算——乘法(大数乘大数) 4.精度计算——加法 5.精度计算——减法 6.任意进制转换 7.最大公约数.最小公倍数 ...

  10. Java基础(36):String与基本数据类型之间的双向转换(Wrapper类)

    Java 中基本类型和字符串之间的转换 在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换. 其中,基本类型转换为字符串有三种方法: 1. 使用包装类的 toString() 方法 2. 使 ...