Camera APP 详解

 前一篇文章有对camera进行了一个整体的介绍,那从今天首先会从camera app来对camera的正常打开关闭流程进行介绍。

    首先,camera app需要定义用到的各种权限,其中包含使用camera的权限、读写SD card的权限、访问地址信息的权限等等,如下即是摄像头权限定义。

    <uses-permission android:name =""android.permission.CAMERA"/>

    在定义了一系列的app权限后,第一次打开app会提示这些权限是否允许,并且在勾选了允许之后,就会进入到app的onCreate方法,如果做过android app开发的同学不会太陌生,这里就不多做阐述。一般在onCreate方法里会做一些app的初始化动作,比如camera app的页面布局,加载一些camera 的信息,然后就是打开camera的预览画面了。

    那接下来就进入到今天的重点,camera app中涉及camera一系列api的调用flow。

1.首先camera app会有一个默认的camera去打开,首先app这边需要调用openCamera的接口去真正打开这样一个硬件设备,具体的实现会随着camera的架构一层一层调用到kernel里,kernel层里会对camera进行一系统上电,写寄存器等操作,这里就不多做详述,在讲述到kernel部分的时候会详细介绍。

接口如下:

 ​​​​​​

public void openCamera(@NonNull String cameraId,   @NonNull final CameraDevice.StateCallback callback,   @Nullable Handler handler)

其中第一个参数是需要打开的camera的索引号的字符串,比如说camera的索引号是0,则这里传入的参数即 "0",

第二个参数是openCamera的回调函数,需要camera App自行实现,

第三个参数是第二个回调函数被调用所在的handler。

其中CameraDevice.StateCallback的定义如下:

public static abstract class StateCallback{
    public abstract void onOpened(@NonNull cameraDevice
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值