gpt4 book ai didi

java - 当前不允许连接到相机 "1"

转载 作者:行者123 更新时间:2023-12-01 14:27:54 24 4
gpt4 key购买 nike

Android Caused by java.lang.SecurityException: validateClientPermissionsLocked:1102: 当前不允许来自设备用户 0 的调用者连接到相机“1”

已授予相机权限。

它由前台服务运行。

适用于大多数设备,但只有少数 Android 9、华为、摩托罗拉和小米设备无法运行。

在此链接上:https://android.googlesource.com/platform/frameworks/av/+/refs/heads/master/services/camera/libcameraservice/CameraService.cpp

第 1031 行解释说:“只允许当前前台设备用户正在使用的客户端。”

这是否意味着它不能被前台服务访问?

Kotlin 代码(崩溃发生在 manager.openCamera):

 try {
val pickedCamera = getCamera(manager) ?: return
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED
) {
return
}
manager.openCamera(pickedCamera, cameraStateCallback, null)
imageReader =
ImageReader.newInstance(1920, 1088, ImageFormat.JPEG, 1 /* images buffered */)
imageReader.setOnImageAvailableListener(onImageAvailableListener, null)
} catch (e: CameraAccessException) {
}

最佳答案

在对崩溃进行更多分析后,我发现 100% 发生此崩溃的用户都激活了他们的接近传感器(由 Firebase Crashlytics 提供)。

我写了一些代码来避免在接近传感器打开时使用相机,它完全解决了这个问题。

我不知道它背后的逻辑是什么,但它起作用了:)

关于java - 当前不允许连接到相机 "1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59992259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com