文章标题

来源:互联网 发布:苹果特效相机软件 编辑:程序博客网 时间:2024/06/06 00:55

Android 4.4 6.0 7.0拍照、访问图库一些记录

按照个人实践和理解,总结出以下一些情况。
以下内容纯粹是本人自己目前总结出来的,可能存在重大误导错误,请持怀疑态度


4.4以后使用Intent 的 GET_CONTENT,setType访问图库返回的uri为带doucument的content://…provider类型Uri,为只读Uri无法存入更改后图片,可以转化为绝对路径,再转化为fileuri(Uri.fromfile()方法)。4.4存入图片uri支持content://media… uri和file://.. uri类型。


6.0以前使用Intent的PICK和setData返回传统的media类型,6.0以后返回cotent://…provider类型,也是只读Uri,无法存入修改图片。解决方法同上。但要注意如果是7.0及其以上,不能转化为meida类型Uri,只能是file类型Uri(Uri.fromfile)存入图片


7.0以后存入图片只能使用Uri.fromfile。但是除此之外,不能使用Uri.fromfile方法,必须使用FileProvider代替获得content://…fileprovider Uri,但是此Uri是不可读的。可以转化为mediaUri读取,再转化为file uri存入。


content://meida 和普通系统的content://…provider可以使用一样的获取绝对路径的方法。


简单说4.4前2种Uri访问2种也可以存入
4.4-6.0三种访问两种存入
6.0-7.0四种访问两种存入
大于等于7.0四种访问一种存入