Ale*_*scu 6 android qr-code dart flutter flutter-dependencies
我已经从包中复制了示例代码: https: //pub.dev/packages/qr_code_scanner
\n这是我的二维码扫描仪的样子:
\nimport \'package:flutter/material.dart\';\n\'package:qr_code_scanner/qr_code_scanner.dart\';\n\nclass QrReader extends StatefulWidget {\n static final routeName = \'/QrReader\';\n @override\n _QrReaderState createState() => _QrReaderState();\n}\n\nclass _QrReaderState extends State<QrReader> {\n final GlobalKey qrKey = GlobalKey(debugLabel: \'QR\');\n var qrText = "";\n QRViewController controller;\n\n @override\n void initState() {\n super.initState();\n }\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(\'Scan the QR code\'),\n ),\n body: QRView(\n key: qrKey,\n onQRViewCreated: _onQRViewCreated,\n ),\n );\n }\n\n void _onQRViewCreated(QRViewController controller) {\n this.controller = controller;\n controller.scannedDataStream.listen((scanData) {\n setState(() {\n qrText = scanData;\n });\n });\n }\n\n @override\n void dispose() {\n controller?.dispose();\n super.dispose();\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n当我使用 navigator.push 转到 /QrReader 路径打开此屏幕时,QRView 为黑色,并且出现错误:
\n\nE/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\nE/flutter (30118): at io.flutter.plugin.platform.PlatformViewsController$1.createVirtualDisplayForPlatformView(PlatformViewsController.java:192)\nE/flutter (30118): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:104)\nE/flutter (30118): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:59)\nE/flutter (30118): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)\nE/flutter (30118): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)\nE/flutter (30118): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692)\nE/flutter (30118): at android.os.MessageQueue.nativePollOnce(Native Method)\nE/flutter (30118): at android.os.MessageQueue.next(MessageQueue.java:335)\nE/flutter (30118): at android.os.Looper.loop(Looper.java:183)\nE/flutter (30118): at android.app.ActivityThread.main(ActivityThread.java:7656)\nE/flutter (30118): at java.lang.reflect.Method.invoke(Native Method)\nE/flutter (30118): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)\nE/flutter (30118): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)\nE/flutter (30118): , null, null)\n[38;5;244mE/flutter (30118): #0 StandardMethodCodec.decodeEnvelope[39;49m\n package:flutter/\xe2\x80\xa6/services/message_codecs.dart\n[38;5;244mE/flutter (30118): #1 MethodChannel._invokeMethod[39;49m\n package:flutter/\xe2\x80\xa6/services/platform_channel.dart\nE/flutter (30118): <asynchronous suspension>\n[38;5;244mE/flutter (30118): #2 MethodChannel.invokeMethod[39;49m\n package:flutter/\xe2\x80\xa6/services/platform_channel.dart\n[38;5;244mE/flutter (30118): #3 TextureAndroidViewController._sendCreateMessage[39;49m\n package:flutter/\xe2\x80\xa6/services/platform_views.dart\n[38;5;244mE/flutter (30118): #4 AndroidViewController.create[39;49m\n package:flutter/\xe2\x80\xa6/services/platform_views.dart\n[38;5;244mE/flutter (30118): #5 TextureAndroidViewController.create[39;49m\n package:flutter/\xe2\x80\xa6/services/platform_views.dart\n[38;5;244mE/flutter (30118): #6 TextureAndroidViewController.setSize[39;49m\n package:flutter/\xe2\x80\xa6/services/platform_views.dart\n[38;5;244mE/flutter (30118): #7 RenderAndroidView._sizePlatformView[39;49m\n package:flutter/\xe2\x80\xa6/rendering/platform_view.dart\n[38;5;244mE/flutter (30118): #8 RenderAndroidView.performResize[39;49m\n package:flutter/\xe2\x80\xa6/rendering/platform_view.dart\n[38;5;244mE/flutter (30118): #9 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #10 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #11 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #12 RenderStack.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/stack.dart\n[38;5;244mE/flutter (30118): #13 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #14 MultiChildLayoutDelegate.layoutChild[39;49m\n package:flutter/\xe2\x80\xa6/rendering/custom_layout.dart\n[38;5;244mE/flutter (30118): #15 _ScaffoldLayout.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/material/scaffold.dart\n[38;5;244mE/flutter (30118): #16 MultiChildLayoutDelegate._callPerformLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/custom_layout.dart\n[38;5;244mE/flutter (30118): #17 RenderCustomMultiChildLayoutBox.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/custom_layout.dart\n[38;5;244mE/flutter (30118): #18 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #19 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #20 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #21 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #22 _RenderCustomClip.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #23 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #24 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #25 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #26 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #27 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #28 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #29 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #30 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #31 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #32 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #33 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #34 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #35 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #36 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #37 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #38 RenderOffstage.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #39 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #40 RenderProxyBoxMixin.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/proxy_box.dart\n[38;5;244mE/flutter (30118): #41 RenderObject.layout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #42 _RenderTheatre.performLayout[39;49m\n package:flutter/\xe2\x80\xa6/widgets/overlay.dart\n[38;5;244mE/flutter (30118): #43 RenderObject._layoutWithoutResize[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #44 PipelineOwner.flushLayout[39;49m\n package:flutter/\xe2\x80\xa6/rendering/object.dart\n[38;5;244mE/flutter (30118): #45 RendererBinding.drawFrame[39;49m\n package:flutter/\xe2\x80\xa6/rendering/binding.dart\n[38;5;244mE/flutter (30118): #46 WidgetsBinding.drawFrame[39;49m\n package:flutter/\xe2\x80\xa6/widgets/binding.dart\n[38;5;244mE/flutter (30118): #47 RendererBinding._handlePersistentFrameCallback[39;49m\n package:flutter/\xe2\x80\xa6/rendering/binding.dart\n[38;5;244mE/flutter (30118): #48 SchedulerBinding._invokeFrameCallback[39;49m\n package:flutter/\xe2\x80\xa6/scheduler/binding.dart\n[38;5;244mE/flutter (30118): #49 SchedulerBinding.handleDrawFrame[39;49m\n package:flutter/\xe2\x80\xa6/scheduler/binding.dart\n[38;5;244mE/flutter (30118): #50 SchedulerBinding._handleDrawFrame[39;49m\n package:flutter/\xe2\x80\xa6/scheduler/binding.dart\n[38;5;244mE/flutter (30118): #51 _rootRun (dart:async/zone.dart:1190:13)[39;49m\n[38;5;244mE/flutter (30118): #52 _CustomZone.run (dart:async/zone.dart:1093:19)[39;49m\n[38;5;244mE/flutter (30118): #53 _CustomZone.runGuarded (dart:async/zone.dart:997:7)[39;49m\n[38;5;244mE/flutter (30118): #54 _invoke (dart:ui/hooks.dart:251:10)[39;49m\n[38;5;244mE/flutter (30118): #55 _drawFrame (dart:ui/hooks.dart:209:3)[39;49m\n\nRun Code Online (Sandbox Code Playgroud)\n我应该做什么才能让它发挥作用?在一切正常之前,我将项目更新到最新版本的 flutter,现在出现此错误。
\n小智 1
无论如何,假设这段代码应该可以正常工作,就像包示例中给出的那样
您可以返回到以前的flutter版本
在Flutter安装目录下执行
git checkout v1.2.2 (the version you wanted)
Run Code Online (Sandbox Code Playgroud)
现在运行
flutter doctor
Run Code Online (Sandbox Code Playgroud)
或者您可以使用新命令从一个版本转到另一个版本
flutter downgrade-> 转到上一个
flutter upgrade-> 更新到新的
| 归档时间: |
|
| 查看次数: |
4625 次 |
| 最近记录: |