Stay organized with collections
Save and categorize content based on your preferences.
@Retention(value = RetentionPolicy.CLASS)
@RequiresOptIn
public annotation ExperimentalCamera2Interop
Denotes that the annotated method uses the experimental methods which allow direct access to camera2 classes.
The Camera2Interop and Camera2Interop.Extender exposes the underlying instances of camera2 classes such CameraDevice.StateCallback, CameraCaptureSession.StateCallback and CameraCaptureSession.CaptureCallback. In addition the configs allow setting of camera2 CaptureRequest parameters. However, CameraX does not provide any guarantee on how it operates on these parameters. The ordering and number of times these objects might in order to best optimize the top level behavior.
The values from the callbacks should only be read. Methods that modify the CameraDevice or CameraCaptureSession will likely move CameraX into an inconsistent internal state.
These will be changed in future release possibly, hence add @Experimental annotation.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-07-17 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-17 UTC."],[],[],null,["# ExperimentalCamera2Interop\n==========================\n\nArtifact: [androidx.camera:camera-camera2](/jetpack/androidx/releases/camera) \n[View Source](https://cs.android.com/search?q=file:androidx/camera/camera2/interop/ExperimentalCamera2Interop.java+class:androidx.camera.camera2.interop.ExperimentalCamera2Interop) \nAdded in [1.0.0](/jetpack/androidx/releases/camera#1.0.0)\n\n*** ** * ** ***\n\n[Kotlin](/reference/kotlin/androidx/camera/camera2/interop/ExperimentalCamera2Interop \"View this page in Kotlin\") \\|Java\n\n\n```\n@Retention(value = RetentionPolicy.CLASS)\n@RequiresOptIn\npublic annotation ExperimentalCamera2Interop\n```\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nDenotes that the annotated method uses the experimental methods which allow direct access to camera2 classes.\n\nThe Camera2Interop and Camera2Interop.Extender exposes the underlying instances of camera2 classes such CameraDevice.StateCallback, CameraCaptureSession.StateCallback and CameraCaptureSession.CaptureCallback. In addition the configs allow setting of camera2 CaptureRequest parameters. However, CameraX does not provide any guarantee on how it operates on these parameters. The ordering and number of times these objects might in order to best optimize the top level behavior.\n\nThe values from the callbacks should only be read. Methods that modify the CameraDevice or CameraCaptureSession will likely move CameraX into an inconsistent internal state.\n\nThese will be changed in future release possibly, hence add @Experimental annotation."]]