ActivityCompat.requestPerm
issions(this, arrayOf(Manifest.permission.CAMERA), REQUEST_CAMERA_PERMISSION)
}
}
private fun startCamera() {
// We will implement this in next steps.
}
private fun isCameraPermissionGranted(): Boolean {
val selfPermission = ContextCompat.checkSelfPermission(baseContext, Manifest.permission.CAMERA)
return selfPermission == PackageManager.PERMISSION_GRANTED
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
if (requestCode == REQUEST_CAMERA_PERMISSION) {
if (isCameraPermissionGranted()) {
textureView.post { startCamera() }
} else {
Toast.makeText(this, “Camera permission is required.”, Toast.LENGTH_SHORT).show()
finish()
}
}
}
}
CameraX有一个称为用例的抽象,使您可以与设备的摄像头进行交互。当前有以下用例:
-
预览:允许您访问摄像机输入流,可用于在TextureView中显示摄像机流。
-
图像分析:允许您分析摄像机输入的每一帧。我们将使用此用例执行图像分析,以使用Firebase ML Kit检测帧中的二维码。
-
图像捕获ÿ