I have tested new Camera2 API on Android Lollipop. I want to fetch supported preview size:
StreamConfigurationMap streamConfigurationMap = cameraCharacterist
As @Alex Cohn said it depends on the manufacturers to embrace Camera API2.
You can check if the Camera API2 is supported with
camCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
returning an int
corresponding to the level of support for Camera API2.
If the level you get is equal to CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
basically your phone manufacturer does not support Camera API2.
--> As a consequence the SCALER_STREAM_CONFIGURATION_MAP
may return different resolutions than the ones accessible with Camera API1.
This is the reason why you get
the maximum preview size is 1440x1080px
What really shocks me it that the question was asked 4 years ago... and there are still manufacturers that did not care to upgrade to Camera API2. While Camera API2 gives you much more features, maybe Camera API1 is not dead after all.
Would be nice to have some fragmentation information, at least to know how many devices you actually target if you use Camera API2 (it's not all the Android L and above because of the LEGACY support, developers deserve to know that)
replace
Size[] sizes = streamConfigurationMap.getOutputSizes(SurfaceTexture.class);
to
Size[] sizes = streamConfigurationMap.getOutputSizes(ImageFormat.JPEG)