I've copied the example code from the package: https://pub.dev/packages/qr_code_scanner
This is how my QR code scanner looks like:
import 'package:flutter/material.dart';
'package:qr_code_scanner/qr_code_scanner.dart';
class QrReader extends StatefulWidget {
static final routeName = '/QrReader';
@override
_QrReaderState createState() => _QrReaderState();
}
class _QrReaderState extends State<QrReader> {
final GlobalKey qrKey = GlobalKey(debugLabel: 'QR');
var qrText = "";
QRViewController controller;
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Scan the QR code'),
),
body: QRView(
key: qrKey,
onQRViewCreated: _onQRViewCreated,
),
);
}
void _onQRViewCreated(QRViewController controller) {
this.controller = controller;
controller.scannedDataStream.listen((scanData) {
setState(() {
qrText = scanData;
});
});
}
@override
void dispose() {
controller?.dispose();
super.dispose();
}
}
When I open this screen by going to the /QrReader route using navigator.push, the QRView is black and I get the error:
E/flutter (30118): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create a platform view of unregistered type: net.touchcapture.qr.flutterqr/qrview
E/flutter (30118): at io.flutter.plugin.platform.PlatformViewsController$1.createVirtualDisplayForPlatformView(PlatformViewsController.java:192)
E/flutter (30118): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:104)
E/flutter (30118): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:59)
E/flutter (30118): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/flutter (30118): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter (30118): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692)
E/flutter (30118): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (30118): at android.os.MessageQueue.next(MessageQueue.java:335)
E/flutter (30118): at android.os.Looper.loop(Looper.java:183)
E/flutter (30118): at android.app.ActivityThread.main(ActivityThread.java:7656)
E/flutter (30118): at java.lang.reflect.Method.invoke(Native Method)
E/flutter (30118): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/flutter (30118): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/flutter (30118): , null, null)
[38;5;244mE/flutter (30118): #0 StandardMethodCodec.decodeEnvelope[39;49m
package:flutter/…/services/message_codecs.dart
[38;5;244mE/flutter (30118): #1 MethodChannel._invokeMethod[39;49m
package:flutter/…/services/platform_channel.dart
E/flutter (30118): <asynchronous suspension>
[38;5;244mE/flutter (30118): #2 MethodChannel.invokeMethod[39;49m
package:flutter/…/services/platform_channel.dart
[38;5;244mE/flutter (30118): #3 TextureAndroidViewController._sendCreateMessage[39;49m
package:flutter/…/services/platform_views.dart
[38;5;244mE/flutter (30118): #4 AndroidViewController.create[39;49m
package:flutter/…/services/platform_views.dart
[38;5;244mE/flutter (30118): #5 TextureAndroidViewController.create[39;49m
package:flutter/…/services/platform_views.dart
[38;5;244mE/flutter (30118): #6 TextureAndroidViewController.setSize[39;49m
package:flutter/…/services/platform_views.dart
[38;5;244mE/flutter (30118): #7 RenderAndroidView._sizePlatformView[39;49m
package:flutter/…/rendering/platform_view.dart
[38;5;244mE/flutter (30118): #8 RenderAndroidView.performResize[39;49m
package:flutter/…/rendering/platform_view.dart
[38;5;244mE/flutter (30118): #9 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #10 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #11 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #12 RenderStack.performLayout[39;49m
package:flutter/…/rendering/stack.dart
[38;5;244mE/flutter (30118): #13 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #14 MultiChildLayoutDelegate.layoutChild[39;49m
package:flutter/…/rendering/custom_layout.dart
[38;5;244mE/flutter (30118): #15 _ScaffoldLayout.performLayout[39;49m
package:flutter/…/material/scaffold.dart
[38;5;244mE/flutter (30118): #16 MultiChildLayoutDelegate._callPerformLayout[39;49m
package:flutter/…/rendering/custom_layout.dart
[38;5;244mE/flutter (30118): #17 RenderCustomMultiChildLayoutBox.performLayout[39;49m
package:flutter/…/rendering/custom_layout.dart
[38;5;244mE/flutter (30118): #18 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #19 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #20 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #21 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #22 _RenderCustomClip.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #23 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #24 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #25 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #26 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #27 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #28 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #29 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #30 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #31 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #32 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #33 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #34 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #35 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #36 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #37 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #38 RenderOffstage.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #39 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #40 RenderProxyBoxMixin.performLayout[39;49m
package:flutter/…/rendering/proxy_box.dart
[38;5;244mE/flutter (30118): #41 RenderObject.layout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #42 _RenderTheatre.performLayout[39;49m
package:flutter/…/widgets/overlay.dart
[38;5;244mE/flutter (30118): #43 RenderObject._layoutWithoutResize[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #44 PipelineOwner.flushLayout[39;49m
package:flutter/…/rendering/object.dart
[38;5;244mE/flutter (30118): #45 RendererBinding.drawFrame[39;49m
package:flutter/…/rendering/binding.dart
[38;5;244mE/flutter (30118): #46 WidgetsBinding.drawFrame[39;49m
package:flutter/…/widgets/binding.dart
[38;5;244mE/flutter (30118): #47 RendererBinding._handlePersistentFrameCallback[39;49m
package:flutter/…/rendering/binding.dart
[38;5;244mE/flutter (30118): #48 SchedulerBinding._invokeFrameCallback[39;49m
package:flutter/…/scheduler/binding.dart
[38;5;244mE/flutter (30118): #49 SchedulerBinding.handleDrawFrame[39;49m
package:flutter/…/scheduler/binding.dart
[38;5;244mE/flutter (30118): #50 SchedulerBinding._handleDrawFrame[39;49m
package:flutter/…/scheduler/binding.dart
[38;5;244mE/flutter (30118): #51 _rootRun (dart:async/zone.dart:1190:13)[39;49m
[38;5;244mE/flutter (30118): #52 _CustomZone.run (dart:async/zone.dart:1093:19)[39;49m
[38;5;244mE/flutter (30118): #53 _CustomZone.runGuarded (dart:async/zone.dart:997:7)[39;49m
[38;5;244mE/flutter (30118): #54 _invoke (dart:ui/hooks.dart:251:10)[39;49m
[38;5;244mE/flutter (30118): #55 _drawFrame (dart:ui/hooks.dart:209:3)[39;49m
What should I do to make it work? Before everything was fine, I updated my project to the latest version of flutter and now I get this error.