默认情况下如何在我的应用程序中打开前置摄像头?

时间:2018-12-08 08:31:06

标签: android front-camera

我已经使用Mediastore为相机创建了一个意图,但是每次在相机的先前保存状态下打开它时,都可以。我希望它默认打开前置摄像头,而不管以前的状态如何。 堆栈溢出的所有现有答案至少已有2年了,现在没有任何帮助。

1 个答案:

答案 0 :(得分:0)

是的,默认情况下我们可以打开特定的相机,这是一个功能:

fun getFirstCameraIdFacing(cameraManager: CameraManager,
                           facing: Int = CameraMetadata.LENS_FACING_FRONT): String? {
    val cameraIds = cameraManager.cameraIdList
    // Iterate over the list of cameras and return the first one matching desired
    // lens-facing configuration
    cameraIds.forEach {
        val characteristics = cameraManager.getCameraCharacteristics(it)
        if (characteristics.get(CameraCharacteristics.LENS_FACING) == facing) {
            return it
        }
    }
    // If no camera matched desired orientation, return the first one from the list
    return cameraIds.firstOrNull()
}

它是kotlin版本,但是逻辑很明确,您可以轻松地将其修改为Java代码。

这是关于LENS_FACING_FRONT

的参考