CameraView is a well documented, high-level library that makes capturing pictures and videos easy, addressing most of the common issues and needs.
Supports gestures (tap-to-focus, pinch-to-zoom, ...), grid drawing, system permissions handling, smart sizing, metadata support and much more.
Camera API in Android is hard. Having 2 different API for new and old Camera does not make things any easier. But this is your lucky day! After several years of working with Camera we came up with Fotoapparat.
What it provides:
A camera view to capture long image merged from small captured images as it is in Shoparoo app!
This library uses CameraView from Google as the backbone of camera functionality and adds auto-support of creating long or wide images from multiple images.
A simple library to make taking screenshots of your apps.
With the Marshmallow release and the new permissions model, taking screenshots of your applications has become just slightly more complicated as you need to deal with permissions on the run.
This library does it all for you regardless of the device you're running it on.
Android's video recording APIs are very difficult to figure out, especially since a lot of manufacturers like to mount their camera sensors upside down or sideways. This library is a result of lots of research and experimentation to get video recording to work universally.
CWAC-Cam2 is an effort to create an in-app
ACTION_IMAGE_CAPTURE workalike, with a bit more configurability. You still integrate by opening up a separate activity, but it is all within your own app, rather than relying upon device- or user-specific third-party camera apps.
L Camera is an open-source experimental camera app for Android L devices using the new android.hardware.camera2 API.
Please note that this app is intended to test and study new features of the camera API, it is not for general uses as it lacks many basic camera features (location tagging, white balance, photo review, flash control, etc).
Taking pictures or videos using a third-party app is fairly straightforward, using ACTIONIMAGECAPTURE or ACTIONVIDEOCAPTURE. However, you as the developer have little control over what happens with the image or video, other than indicating where the result gets stored.