首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java.lang.IllegalStateException:尝试创建未注册类型的平台视图: com.pichillilorenzo/flutter_inappwebview

java.lang.IllegalStateException:尝试创建未注册类型的平台视图: com.pichillilorenzo/flutter_inappwebview
EN

Stack Overflow用户
提问于 2020-04-29 00:00:10
回答 1查看 1.1K关注 0票数 3

我使用这个库来显示一个经过解析的epub文件,它支持显示.css。flutter_inappwebview

代码语言:javascript
运行
复制
        var doc = state.book.Chapters.last.HtmlContent.split('<head>');
        var styledTML = "\n" +
            doc.first +
            "\n" +
            "<head>" +
            "<style>" +
            state.book.Content.Css['styles.css'].Content +
            "</style>" +
            doc.last;

        return Material(
          child: InAppWebView(
            onWebViewCreated: (controller) {
              controller.loadData(data: styledTML);
            },
            initialOptions: InAppWebViewWidgetOptions(),
          ),
        );
      }

这段代码在iOS上运行得很好,但在安卓上我遇到了错误:

代码语言:javascript
运行
复制
E/flutter ( 7880): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create a platform view of unregistered type: com.pichillilorenzo/flutter_inappwebview
E/flutter ( 7880):  at io.flutter.plugin.platform.PlatformViewsController$1.createPlatformView(PlatformViewsController.java:91)
E/flutter ( 7880):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:96)
E/flutter ( 7880):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:60)
E/flutter ( 7880):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:231)
E/flutter ( 7880):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:93)
E/flutter ( 7880):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:642)
E/flutter ( 7880):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 7880):  at android.os.MessageQueue.next(MessageQueue.java:326)
E/flutter ( 7880):  at android.os.Looper.loop(Looper.java:160)
E/flutter ( 7880):  at android.app.ActivityThread.main(ActivityThread.java:6669)
E/flutter ( 7880):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 7880):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/flutter ( 7880):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/flutter ( 7880): , null)
E/flutter ( 7880): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter ( 7880): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
E/flutter ( 7880): <asynchronous suspension>
E/flutter ( 7880): #2      AndroidViewController._create (package:flutter/src/services/platform_views.dart:640:54)
E/flutter ( 7880): #3      AndroidViewController.setSize (package:flutter/src/services/platform_views.dart:557:14)
E/flutter ( 7880): #4      RenderAndroidView._sizePlatformView (package:flutter/src/rendering/platform_view.dart:174:29)
E/flutter ( 7880): #5      RenderAndroidView.performResize (package:flutter/src/rendering/platform_view.dart:155:5)
E/flutter ( 7880): #6      RenderObject.layout (package:flutter/src/rendering/object.dart:1703:9)
E/flutter ( 7880): #7      RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 7880): #8      RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 7880): #9      RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 7880): #10     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1584:7)
E/flutter ( 7880): #11     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:844:18)
E/flutter ( 7880): #12     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:344:19)
E/flutter ( 7880): #13     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:774:13)
E/flutter ( 7880): #14     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:283:5)
E/flutter ( 7880): #15     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1102:15)
E/flutter ( 7880): #16     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1041:9)
E/flutter ( 7880): #17     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:957:5)
E/flutter ( 7880): #18     _rootRun (dart:async/zone.dart:1126:13)
E/flutter ( 7880): #19     _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter ( 7880): #20     _CustomZone.runGuarded (dart:async/zone.dart:925:7)
E/flutter ( 7880): #21     _invoke (dart:ui/hooks.dart:259:10)
E/flutter ( 7880): #22     _drawFrame (dart:ui/hooks.dart:217:3)
E/flutter ( 7880): 

我试过flutter clean了。正在重新启动IDE。我的项目是AndroidX项目,我在Manifest中添加了互联网权限,我的项目比API21更多,但它仍然崩溃。我如何反映这个HTML。我很感谢你的时间和想法。谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-07-20 19:47:12

代码语言:javascript
运行
复制
flutter clean

之后运行应用程序

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61484570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档