您的位置:首页 > 移动开发 > Android开发

android 系统相册调用,各版本的区别总结

2016-04-22 13:53 399 查看
请求系统相册有三个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所以看不到崩溃原因,猜测是取不到数据,报空
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: