
正文
android系统相机,安卓相机系统
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Android 使用系统相机拍照和读取相册照片
1.拍照 (对于7.0以上的版本,不在允许直接访问uri)
`
若不指定输出路径intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri(srcActivity)); 在onActivityResult()中,通过
`
可以拿到uri,但获得的图片是被压缩过的。若指定intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);输出路径,则此处的intent为null,但可以使用我们存的uri读取照片,此时的照片没有被压缩。
2.从相册中读取照片, 方法:
`
`
即使设置 intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri(srcActivity));输出路径,仍然不能从此路径中读取,只能在onActivityForResult()中通过event.uri = intent.getData();方式获得图片uri。
此种现象也好理解,拍照时产生新的图片,自然可根据设置的uri进行图片保存,而读取相册时,图片已经在目录中不能转移到自己设定的uri中。
Androidmanifest.xml中
`
在 res/xml/provider_paths.xml
`
?xml version="1.0" encoding="utf-8"?
paths
external-path name="JDTobs" path=""/
files-path name="name" path="path" /
cache-path name="name" path="path" / external-path name="name" path="path" /
external-files-path name="name" path="path" /
external-cache-path name="name" path="path" / /paths `
读取uri
相关问答
Q1: 安卓手机相机用不了有什么办法啊
若使用的是vivo手机,相机无法使用处理方法如下:
1、若软件无法打开相机,进入设置--应用与权限/更多设置--权限管理--找到对应的软件--开启相机,在单项权限设置--开启“使用摄像头”权限;
2、卸载第三方管家类软件,如:腾讯手机管家、360手机卫士等,再尝试开启相机
3、进入设置--应用与权限/更多设置--应用管理/应用程序--(全部)--找到相机--存储后清除数据和缓存,后重启手机;
4、进入设置--系统管理/更多设置--备份与重置/恢复出厂设置--还原所有设置/清除所有数据(需进行备份数据);
5、固件升级;
6、若以上方法未解决,可携带手机和有效购机凭证去客户服务中心处理,关注微信公众号“vivo”或者“vivo客户服务”进行查询服务中心地址电话,建议去之前电话联系,确保有工作人员接待再过去,避免耽误宝贵时间白跑一趟。
Q2: Android调用系统相机拍照
Refrence:
Android 调用系统相机拍照适配主要经历了 6.0 7.0 10和11这几个大版本:
其中:
常用到的为 external-path 和 external-files-path,name和path按照自己需求编写
上述示例意思是,external-path标签指向的路径后path中指向的文件/文件夹拥有被访问权限,即 /storage/emulate/0/000 这个路径拥有被访问的权限。
简单示例:






