调用系统Camera App实现拍照和摄像功能,虽然能够满足我们的一些需求,但自由度降低了,而且拍照的界面就是系统的样子,现在很多拍照程序,就需要根据SDK提供的Camera API来编写自己的程序。
一、 准备工作
如果要使用Camera API实现拍照或者照相功能,就必须在manifest内声明使用权限,通常由以下三项
<uses-permission android:name = "android.permission.CAMERA" />
<uses-feature android:name = "android.hardware.camera" />
<uses-feature android:name = "android.hardware.camera.autofocus" />
一般拍照和摄像的时候需要写到sd卡上,所以还有一向权限声明如下
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
真做摄像功能时,需要音频录制和视频录制功能,所以又需要下面两项权限声明
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
另外使用Camera API拍照或摄像,都需要用到预览,预览就要用到SurfaceView,为此Activity的布局中必须有Surf