flutter_qr_mobile_vision icon indicating copy to clipboard operation
flutter_qr_mobile_vision copied to clipboard

Crash when user decline camera permission on Android

Open Nielsticot opened this issue 6 years ago • 2 comments

Hello,

I'm testing with a Google Pixel 2 on android 9,

Each time I decline the camera permission, the onError parameter of QrCamera is not called, instead, it throws an exception.

I tested it on your provided example and it reacted exactly the same way.

Here is the console log :

Launching lib/main.dart on Pixel 2 in debug mode... Built build/app/outputs/apk/debug/app-debug.apk. I/cgr.qrmv.QrReader(11740): Using new camera API. I/cgr.qrmv.QrDetector(11740): Making detector2 for formats: 0 W/DynamiteModule(11740): Local module descriptor class for com.google.android.gms.vision.dynamite.barcode not found. I/DynamiteModule(11740): Considering local module com.google.android.gms.vision.dynamite.barcode:0 and remote module com.google.android.gms.vision.dynamite.barcode:0 D/BarcodeNativeHandle(11740): Cannot load feature, fall back to load whole module. W/DynamiteModule(11740): Local module descriptor class for com.google.android.gms.vision.dynamite not found. W/mple.presencev(11740): Unsupported class loader W/mple.presencev(11740): Skipping duplicate class check due to unsupported classloader I/DynamiteModule(11740): Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:1800 I/DynamiteModule(11740): Selected remote version of com.google.android.gms.vision.dynamite, version >= 1800 W/mple.presencev(11740): Unsupported class loader I/Vision (11740): Loading library libbarhopper.so I/mple.presencev(11740): The ClassLoaderContext is a special shared library. I/chatty (11740): uid=10273(com.example.presencev2) identical 1 line I/mple.presencev(11740): The ClassLoaderContext is a special shared library. W/mple.presencev(11740): Accessing hidden method Ldalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; (light greylist, reflection) W/mple.presencev(11740): Accessing hidden method Ldalvik/system/VMRuntime;->is64Bit()Z (light greylist, reflection) W/linker (11740): Warning: "/data/data/com.google.android.gms/app_vision/barcode/libs/arm64-v8a/libbarhopper.so" unused DT entry: unknown processor-specific (type 0x7ffffffd arg 0x6dd) (ignoring) I/Vision (11740): libbarhopper.so library load status: true I/DynamiteModule(11740): Considering local module com.google.android.gms.flags:2 and remote module com.google.android.gms.flags:3 I/DynamiteModule(11740): Selected remote version of com.google.android.gms.flags, version >= 3 W/mple.presencev(11740): Unsupported class loader W/mple.presencev(11740): Accessing hidden field Ljava/nio/Buffer;->address:J (light greylist, reflection) I/cgr.qrmv.QrMobVisPlugin(11740): Permissions request denied. W/cgr.qrmv.QrMobVisPlugin(11740): Starting QR Mobile Vision failed W/cgr.qrmv.QrMobVisPlugin(11740): com.github.rmtmckenzie.qrmobilevision.QrReader$Exception: QR reader failed because noPermissions W/cgr.qrmv.QrMobVisPlugin(11740): at com.github.rmtmckenzie.qrmobilevision.QrMobileVisionPlugin.onRequestPermissionsResult(QrMobileVisionPlugin.java:64) W/cgr.qrmv.QrMobVisPlugin(11740): at io.flutter.app.FlutterPluginRegistry.onRequestPermissionsResult(FlutterPluginRegistry.java:191) W/cgr.qrmv.QrMobVisPlugin(11740): at io.flutter.app.FlutterActivityDelegate.onRequestPermissionsResult(FlutterActivityDelegate.java:125) W/cgr.qrmv.QrMobVisPlugin(11740): at io.flutter.app.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:133) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:7616) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.Activity.dispatchActivityResult(Activity.java:7466) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.ActivityThread.deliverResults(ActivityThread.java:4391) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.ActivityThread.handleSendResult(ActivityThread.java:4440) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816) W/cgr.qrmv.QrMobVisPlugin(11740): at android.os.Handler.dispatchMessage(Handler.java:106) W/cgr.qrmv.QrMobVisPlugin(11740): at android.os.Looper.loop(Looper.java:193) W/cgr.qrmv.QrMobVisPlugin(11740): at android.app.ActivityThread.main(ActivityThread.java:6718) W/cgr.qrmv.QrMobVisPlugin(11740): at java.lang.reflect.Method.invoke(Native Method) W/cgr.qrmv.QrMobVisPlugin(11740): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) W/cgr.qrmv.QrMobVisPlugin(11740): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Nielsticot avatar Jan 18 '19 16:01 Nielsticot

Still exists

w3ggy avatar Feb 26 '20 12:02 w3ggy

bug still exist on IOS 12 & 13

devaronius avatar Jun 10 '20 09:06 devaronius