美文网首页
调用摄像头

调用摄像头

作者: leap_ | 来源:发表于2018-12-07 17:24 被阅读0次

      权限声明:

    创建一个隐式调用摄像头的intent

    action指定为  :  

    MediaStore.ACTION_IMAGE_CAPTURE- 从已存在的相机应用中请求一个图片.

    MediaStore.ACTION_VIDEO_CAPTURE- 从已存在的相机应用中请求一个视频.

    创建uri存放图片:uri通过intent传入相机;

    1  安卓7.0版本之前:通过文件转化uri

    创建file文件 将file文件转为uri用于存放照片 指定uri和照片绑定

    MediaStore.EXTRA_OUTPUT的作用是指定照片的名称和地址,如果没有设置uri,那么系统会自动命名照片并且放入默认的储存地址。

    2  7.0以后认为直接使用真实路径是不安全的,所以使用共享文件的形式(contentValues和contentResolver类)

    contentValues文档解释:This class is used to store a set of values that the contentResolver can process.        类似hashtable,键值对的方式储存数据,

    contentResolver文档解释:This class provides applications access to the content model. 内容解析者:contentResolver提供一系列的方法对数据进行crud;

    1 创建contentValues,将照片file的路径存起来;

    2 通过contentResolver的insert()方法得到照片的uri,设置MediaStore.EXTRA_OUTPUT;

    contentResolver的insert()文档解释

    权限申请

    检查是否有CAMERA和STROAGE权限

    没有就申请:

    第三个参数是请求码,用于回调;

    回调:重写onRequestPermissionResult();

    requestCode为请求码,用于处理回调:

    grantResults为用户的选择:PERMISSION——GRANTED和PERMISSION_DENIED

    如果是granted则调用摄像头;

    如果有权限,直接调用摄像头;

    开启摄像头

    第二个参数是相机回调的请求码,处理相机的回调;

    相机的回调处理

    如果是相机回调的请求码,并且请求回调结果为OK,则处理回调:加载照片到imageView中;

    相关文章

      网友评论

          本文标题:调用摄像头

          本文链接:https://www.haomeiwen.com/subject/drnacqtx.html