xamarin / XamarinCommunityToolkit

The Xamarin Community Toolkit is a collection of Animations, Behaviors, Converters, and Effects for mobile development with Xamarin.Forms. It simplifies and demonstrates common developer tasks building iOS, Android, and UWP apps with Xamarin.Forms.
MIT License
1.59k stars 477 forks source link

[Bug] CameraView Android11 #1602

Open tiago-carneiro opened 2 years ago

tiago-carneiro commented 2 years ago

Description

When open a cameraView in android11

Steps to Reproduce

  1. open a cameraView in android11, fisical device.

Expected Behavior

open a camera without errors

Actual Behavior

Java.Lang.RuntimeException: supportsCameraApi:2435: Unknown camera ID 0 android.os.ServiceSpecificException: supportsCameraApi:2435: Unknown camera ID 0 (code 3)

Error: android.os.ServiceSpecificException: supportsCameraApi:2435: Unknown camera ID 0 (code 3) android.os.Parcel.createExceptionOrNull Parcel.java:2390 android.os.Parcel.createException Parcel.java:2360 android.os.Parcel.readException Parcel.java:2343 android.os.Parcel.readException Parcel.java:2285 android.hardware.ICameraService$Stub$Proxy.supportsCameraApi ICameraService.java:906 android.hardware.camera2.CameraManager.supportsCameraApiLocked CameraManager.java:1060 android.hardware.camera2.CameraManager.supportsCamera2ApiLocked CameraManager.java:1036 android.hardware.camera2.CameraManager.getCameraCharacteristics CameraManager.java:423 mono.java.lang.RunnableImplementor.n_run(Native Method) mono.java.lang.RunnableImplementor.run(Unknown Source:0) android.os.Handler.handleCallback Handler.java:938 android.os.Handler.dispatchMessage Handler.java:99 android.os.Looper.loop Looper.java:236 android.app.ActivityThread.main ActivityThread.java:8057 java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:656 com.android.internal.os.ZygoteInit.main ZygoteInit.java:967


JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue args) JniPeerMembers+JniInstanceMethods.InvokeAbstractObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue parameters) CameraManager.GetCameraCharacteristics (System.String cameraId) CameraFragment.gFilterCameraByLens|83_0 (Android.Hardware.Camera2.LensFacing lensFacing, Xamarin.CommunityToolkit.UI.Views.CameraFragment+<>c__DisplayClass83_0& ) CameraFragment.GetCameraId () CameraFragment.RetrieveCameraDevice (System.Boolean force) CameraViewRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) AsyncMethodBuilderCore+<>c.b7_0 (System.Object state) SyncContext+<>cDisplayClass2_0.b__0 () Thread+RunnableImplementor.Run () IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr nativethis) (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.65(intptr,intptr) java.lang.IllegalArgumentException: supportsCameraApi:2435: Unknown camera ID 0 android.hardware.camera2.CameraManager.throwAsPublicException CameraManager.java:1007 android.hardware.camera2.CameraManager.getCameraCharacteristics CameraManager.java:453 mono.java.lang.RunnableImplementor.n_run(Native Method) mono.java.lang.RunnableImplementor.run(Unknown Source:0) android.os.Handler.handleCallback Handler.java:938 android.os.Handler.dispatchMessage Handler.java:99 android.os.Looper.loop Looper.java:236 android.app.ActivityThread.main ActivityThread.java:8057 java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:656 com.android.internal.os.ZygoteInit.main ZygoteInit.java:967 Caused by: android.os.ServiceSpecificException: supportsCameraApi:2435: Unknown camera ID 0 (code 3) android.os.Parcel.createExceptionOrNull Parcel.java:2390 android.os.Parcel.createException Parcel.java:2360 android.os.Parcel.readException Parcel.java:2343 android.os.Parcel.readException Parcel.java:2285 android.hardware.ICameraService$Stub$Proxy.supportsCameraApi ICameraService.java:906 android.hardware.camera2.CameraManager.supportsCameraApiLocked CameraManager.java:1060 android.hardware.camera2.CameraManager.supportsCamera2ApiLocked CameraManager.java:1036 android.hardware.camera2.CameraManager.getCameraCharacteristics CameraManager.java:423

Basic Information

Workaround

Reproduction imagery

https://github.com/tiago-carneiro/bugs/blob/main/Screen%20Shot%202021-08-26%20at%2017.06.44.png https://github.com/tiago-carneiro/bugs/blob/main/Screen%20Shot%202021-08-26%20at%2017.08.03.png https://github.com/tiago-carneiro/bugs/blob/main/Screen%20Shot%202021-08-26%20at%2017.08.13.png

Reproduction Link

pictos commented 2 years ago

@tiago-carneiro I can't see the images, can you upload those again?

tiago-carneiro commented 2 years ago

@pictos sorry, I did it the wrong way

Image1

Image2

Image3

GUOLDEV commented 2 years ago

@pictos @tiago-carneiro Just FYI, I have tested on Pixel 4a Android 11 and it works fine.

pictos commented 2 years ago

@tiago-carneiro are you able to create a repro? That will help us to debug the issue

pictos commented 2 years ago

@tiago-carneiro does this error occurs in a different device?

GUOLDEV commented 2 years ago

@pictos @tiago-carneiro if you create a repro I can debug the issue as I have a droid 11 device 👍

GUOLDEV commented 2 years ago

Again XCT sample app works fine on droid 11.