【发布时间】:2022-07-21 23:27:03
【问题描述】:
在 webview 中打开摄像头苦苦挣扎了几天后,我决定在这里问这个问题。
所以, 我的应用程序中有一个 webview,它打开一个带有摄像头的网页。为了避免这些问题,我无法访问网站代码。
我在 android sdk 30 和 Pixel 3 api 30 上工作。我尝试在旧的 android SDK (23 - 24) 或最新的 android 12 上打开它。尝试在目标 sdk 版本 29 上添加android:requestLegacyExternalStorage。
当我尝试在模拟器上的 chrome 中打开给定网站时,它可以正常工作。
我认为相机权限可能有问题,但我不知道如何检查它。为摄像头调用requestPermissions 也没有帮助。
我只是一直收到这个错误:
E/cr_VideoCapture: getCameraCharacteristics:
java.lang.IllegalArgumentException: supportsCameraApi:2340: Unknown camera ID 0
at android.hardware.camera2.CameraManager.throwAsPublicException(CameraManager.java:1001)
at android.hardware.camera2.CameraManager.getCameraCharacteristics(CameraManager.java:449)
at ft0.i(chromium-TrichromeWebViewGoogle6432.aab-stable-489612734:1047)
at org.chromium.media.VideoCaptureFactory.isLegacyOrDeprecatedDevice(chromium-TrichromeWebViewGoogle6432.aab-stable-489612734:1339)
at org.chromium.media.VideoCaptureFactory.getFacingMode(chromium-TrichromeWebViewGoogle6432.aab-stable-489612734:93)
Caused by: android.os.ServiceSpecificException: supportsCameraApi:2340: Unknown camera ID 0 (code 3)
at android.os.Parcel.createExceptionOrNull(Parcel.java:2387)
at android.os.Parcel.createException(Parcel.java:2357)
at android.os.Parcel.readException(Parcel.java:2340)
at android.os.Parcel.readException(Parcel.java:2282)
at android.hardware.ICameraService$Stub$Proxy.supportsCameraApi(ICameraService.java:906)
at android.hardware.camera2.CameraManager.supportsCameraApiLocked(CameraManager.java:1054)
at android.hardware.camera2.CameraManager.supportsCamera2ApiLocked(CameraManager.java:1030)
at android.hardware.camera2.CameraManager.getCameraCharacteristics(CameraManager.java:422)
at ft0.i(chromium-TrichromeWebViewGoogle6432.aab-stable-489612734:1047)
at org.chromium.media.VideoCaptureFactory.isLegacyOrDeprecatedDevice(chromium-TrichromeWebViewGoogle6432.aab-stable-489612734:1339)
at org.chromium.media.VideoCaptureFactory.getFacingMode(chromium-TrichromeWebViewGoogle6432.aab-stable-489612734:93)
谢谢:)
【问题讨论】:
标签: android android-webview android-camera2