Camera2 and CameraX provide an Extensions API that lets your app access the following extensions that vendors have implemented on Android devices:
- Auto: adjusts the extension mode according to the current scene background, which depends on the vendor library implementation. For example, in low light scenarios, Auto switches to Night to take a picture. For portrait photos, Auto applies Face Retouch or Bokeh.
- Bokeh: sharpens the foreground subject and blurs the background. Usually used to take portrait photos of people with a soft, out-of-focus background.
- Face Retouch: touches up skin texture, under-eye tone, and more.
- HDR (High Dynamic Range): widens exposure range, resulting in more vivid photos. In HDR mode, the camera takes several photos with various exposure values and merges them into one.
- Night: brightens photos in low-light situations. The camera takes several photos at various exposure values and merge them into one. This process can take several seconds, and the user should hold the phone still while the camera captures photos.
The Camera2 and CameraX Extension APIs expose the same set of extensions, which are available on many supported devices.
Supported devices
Not all devices support extensions, and even if a device has extensions support, it does not support all extensions.
For a list of known devices that support extensions, see Supported devices. To check if an extension is available on your device, see the Camera2 Extensions API and CameraX Extensions API documentation, respectively.
Next steps
Learn how to enable camera extensions for your app: