Android的Camera包含取景器(viewfinder)和拍摄照片(takepicture)的功能。目前MTKAndroid Camera程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。Camera模块同样遵循Android的框架,如下图所示。
Camera 架构主要分为以下几个层次:
1.应用层
Camera的应用层在Android上表现为直接调用SDK API开发的一个Camera 应用APK包。代码在\packages\apps\Camera下。主要是Java写的基于android.hardware.Camera类调用的封装,并且实现Camera应用的业务逻辑和UI显示。android.hardware.Camera就是Android提供给上层调用的Camera类。这个类用来连接或断开一个Camera服务,设置拍摄参数,开始、停止预览,拍照等。它也是Android Camera应用框架封装暴露出来的接口。一个Android应用中若要使用这个类,需要在Manifest文件声明Camera的权限,另外还需要添加一些<uses-feature>元素来声明应用中的Camera特性,如自动对焦等。具体做法可如下:
<uses-permissionandroid:name="android.permission.CAMERA" />
<uses-featureandroid:name="android.hardware.camera" />
<uses-featureandroid:name="android.hardware.camera.autofocu