Colton Idle
04/09/2024, 7:45 PMChris Fillmore
04/09/2024, 10:40 PMChris Fillmore
04/09/2024, 10:44 PMChris Fillmore
04/09/2024, 10:45 PMPablichjenkov
04/09/2024, 10:51 PMColton Idle
04/10/2024, 2:00 PMChris Fillmore
04/10/2024, 2:03 PMChris Fillmore
04/10/2024, 2:04 PMChris Fillmore
04/10/2024, 2:04 PMColton Idle
04/10/2024, 2:13 PMColton Idle
04/10/2024, 2:13 PMChris Fillmore
04/10/2024, 2:13 PMColton Idle
04/10/2024, 2:13 PMChris Fillmore
04/10/2024, 2:13 PMColton Idle
04/10/2024, 2:14 PMColton Idle
04/10/2024, 2:14 PMColton Idle
04/10/2024, 2:15 PMpackageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_EXTERNAL)
on our specific device that we have to use and it reports as false.Colton Idle
04/10/2024, 2:15 PMChris Fillmore
04/10/2024, 2:16 PMChris Fillmore
04/10/2024, 2:16 PMColton Idle
04/10/2024, 2:16 PMChris Fillmore
04/10/2024, 2:16 PMhasSystemFeature
, just try to use the camera and see if it worksColton Idle
04/10/2024, 2:16 PMColton Idle
04/10/2024, 2:17 PMColton Idle
04/10/2024, 2:17 PMChris Fillmore
04/10/2024, 2:17 PMChris Fillmore
04/10/2024, 2:18 PMat least i wasn’t missing something basic here.
Colton Idle
04/10/2024, 2:19 PMChris Fillmore
04/10/2024, 2:20 PMChris Fillmore
04/10/2024, 2:21 PMChris Fillmore
04/10/2024, 2:22 PMChris Fillmore
04/10/2024, 2:24 PMCameraCharacteristics
will allow you to query a bunch of fields:
https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics#fields_1Chris Fillmore
04/10/2024, 2:26 PMCameraMetadata
which includes this field, which I think you’re interested in:
https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#LENS_FACING_EXTERNALChris Fillmore
04/10/2024, 2:34 PMval cameraManager = context.getSystemService(Context.CAMERA_SERVICE) as CameraManager
val cameraIds = cameraManager.cameraIdList
val externalCamera = cameraIds.find { cameraId ->
cameraManager.getCameraCharacteristics(cameraId).get(CameraMetadata.LENS_FACING_EXTERNAL) === true
}
if (externalCamera != null) {
cameraManager.openCamera(externalCamera, object : CameraDevice.StateCallback() {
override fun onOpened(p0: CameraDevice) {
TODO("Not yet implemented")
}
override fun onDisconnected(p0: CameraDevice) {
TODO("Not yet implemented")
}
override fun onError(p0: CameraDevice, p1: Int) {
TODO("Not yet implemented")
}
}, null)
}
Chris Fillmore
04/10/2024, 2:37 PMexternalCamera
in the above ends up being null, just try exploring the API a bit. Different device vendors will have some different behaviour, so also don’t hesitate to try different devicesColton Idle
04/10/2024, 2:44 PMChris Fillmore
04/10/2024, 2:47 PMColton Idle
04/10/2024, 3:37 PMlouiscad
04/13/2024, 6:11 PMChris Fillmore
04/13/2024, 7:02 PM