Closed ThomasEcalle closed 2 years ago
Please check if it was fixed with the latest PR merged, thanks!
@facundomedica I tried to use this code, but it still crashed with the same error.
D/AndroidRuntime(17750): Shutting down VM E/AndroidRuntime(17750): FATAL EXCEPTION: main E/AndroidRuntime(17750): Process: com.lan4.lan4, PID: 17750 E/AndroidRuntime(17750): java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=513469796, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {com.lan4.lan4/com.lan4.lan4.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void java.lang.Runnable.run()' on a null object reference E/AndroidRuntime(17750): at android.app.ActivityThread.deliverResults(ActivityThread.java:4382) E/AndroidRuntime(17750): at android.app.ActivityThread.handleSendResult(ActivityThread.java:4424) E/AndroidRuntime(17750): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) E/AndroidRuntime(17750): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) E/AndroidRuntime(17750): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) E/AndroidRuntime(17750): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1814) E/AndroidRuntime(17750): at android.os.Handler.dispatchMessage(Handler.java:106) E/AndroidRuntime(17750): at android.os.Looper.loop(Looper.java:280) E/AndroidRuntime(17750): at android.app.ActivityThread.main(ActivityThread.java:6706) E/AndroidRuntime(17750): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(17750): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) E/AndroidRuntime(17750): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) E/AndroidRuntime(17750): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void java.lang.Runnable.run()' on a null object reference E/AndroidRuntime(17750): at co.apperto.fastqrreaderview.FastQrReaderViewPlugin$CameraRequestPermissionsListener.onRequestPermissionsResult(FastQrReaderViewPlugin.java:330) E/AndroidRuntime(17750): at io.flutter.app.FlutterPluginRegistry.onRequestPermissionsResult(FlutterPluginRegistry.java:203) E/AndroidRuntime(17750): at io.flutter.app.FlutterActivityDelegate.onRequestPermissionsResult(FlutterActivityDelegate.java:128) E/AndroidRuntime(17750): at io.flutter.app.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:137) E/AndroidRuntime(17750): at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:7608) E/AndroidRuntime(17750): at android.app.Activity.dispatchActivityResult(Activity.java:7458) E/AndroidRuntime(17750): at android.app.ActivityThread.deliverResults(ActivityThread.java:4375)
Sony Xperia ZX1, 9.0
E/AndroidRuntime(27099): java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=513469796, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {mn.verus.restaurants/mn.verus.restaurants.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void java.lang.Runnable.run()' on a null object reference E/AndroidRuntime(27099): at android.app.ActivityThread.deliverResults(ActivityThread.java:4921) E/AndroidRuntime(27099): at android.app.ActivityThread.handleSendResult(ActivityThread.java:4964) E/AndroidRuntime(27099): at android.app.ActivityThread.access$1600(ActivityThread.java:221) E/AndroidRuntime(27099): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1848) E/AndroidRuntime(27099): at android.os.Handler.dispatchMessage(Handler.java:102) E/AndroidRuntime(27099): at android.os.Looper.loop(Looper.java:158) E/AndroidRuntime(27099): at android.app.ActivityThread.main(ActivityThread.java:7225) E/AndroidRuntime(27099): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(27099): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) E/AndroidRuntime(27099): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) E/AndroidRuntime(27099): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void java.lang.Runnable.run()' on a null object reference E/AndroidRuntime(27099): at co.apperto.fastqrreaderview.FastQrReaderViewPlugin$CameraRequestPermissionsListener.onRequestPermissionsResult(FastQrReaderViewPlugin.java:330) E/AndroidRuntime(27099): at io.flutter.app.FlutterPluginRegistry.onRequestPermissionsResult(FlutterPluginRegistry.java:194) E/AndroidRuntime(27099): at io.flutter.app.FlutterActivityDelegate.onRequestPermissionsResult(FlutterActivityDelegate.java:127) E/AndroidRuntime(27099): at io.flutter.app.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:137) E/AndroidRuntime(27099): at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:7263) E/AndroidRuntime(27099): at android.app.Activity.dispatchActivityResult(Activity.java:7141)
I reverted to this commit e82f1a8bf4f596c21e2fe5801c4dd15942b5e67c and works!
Another workaround: await requestCameraPermission
before await availableCameras
.
Another workaround:
await requestCameraPermission
beforeawait availableCameras
.
But if you click deny . CRASH appear and stop app
Another workaround:
await requestCameraPermission
beforeawait availableCameras
.But if you click deny . CRASH appear and stop app
There is PermissionStatus return from await requestCameraPermission, Check it before call availableCameras.
Another workaround:
await requestCameraPermission
beforeawait availableCameras
.
for addition info that I found. await requestionCameraPermission is woking when use with Android 6.0 and above. If Android version below 6, No need to use it. Just call await availableCameras.
The example got fixed 👌
Hi,
First of all, thank you a lot for this library ! I was looking fur such a customizable QrCode reader in flutter :)
I just want to make you know about a crash, in the example application, on Android, when we click on permission request dialog.
Neither we click on "accept" or "deny", we got :
I tried to understand what causes it in Android plugin but found nothing :/