Android 请求系统相册路径小坑

在Android中,请求系统相册的ACTION_OPEN_DOCUMENT、ACTION_GET_CONTENT和ACTION_PICK在不同版本设备上行为各异,导致获取的URI不尽相同。ACTION_OPEN_DOCUMENT和ACTION_GET_CONTENT在4.4及以上版本会返回以'content://com.android.providers.media.documents/document/image%3A'开头的URI,而ACTION_PICK则默认打开图库,返回以'content://media/external/images/media/'开头的URI。前者需要额外处理才能转换为有效路径,后者则可以直接使用。
摘要由CSDN通过智能技术生成

请求系统相册的时候,不同的action在不同的版本手机上会有不同的表现形式,同时获取到的uri也不相同。

请求系统相册有三个Action:

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

 

以下是他们的区别

ACTION_OPEN_DOCUMENT 从图片获取,打开是文件管理器的图片选择器,但是只能选择图片不能选图库,也不能选择其他文件:

content://com.android.providers.media.documents/document/image%3A1372


ACTION_GET_CONTENT从图片获取  打开的还是文件管理器,可以选择图库也可以选择图片:

content://com.android.providers.media.documents/document/image%3A1372


ACTION_GET_CONTENT从图库获取: 

content://media/external/images/media/1372    


ACTION_PICK默认打开图库,没法选择图库还是图片:

content://media/external/images/media/1541


结论: 
content://media/external/images/med

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值