Taking a picture using the (old) Camera API
The previous recipe demonstrated how to use an intent to call the default photo application. If you only need a quick photo, the intent is probably the ideal solution. If not, and you need more control of the camera, this recipe will show you how to use the camera directly with the Camera API.
There are actually two recipes for using the Camera API—one for the original Camera API released in Android 1.0 (API 1) and Camera2 API, released in Android 5.0 (API 21). We'll cover both the new and the old APIs. Ideally, you will want to write your application to the latest and greatest APIs available, but at the time of this writing, Android 5.0 (API 21) only has about a 23 percent market share. If you only use the Camera2 API, you exclude over 75 percent of the market.
Write your app to use Camera2 API to take advantage of the new features available, but still have a functional application using the original Camera API for the rest of your...