【问题标题】:Webview in flutter not working getting a platform errorFlutter中的Webview无法正常工作,出现平台错误
【发布时间】:2019-09-11 15:26:23
【问题描述】:

flutter 中的 webview 出现错误问题

[ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
    PlatformException(error, Trying to create a platform view of unregistered type: plugins.flutter.io/webview, null)

尝试实现 webview

【问题讨论】:

    标签: flutter flutter-dependencies


    【解决方案1】:

    我遇到了同样的问题。 但我做了这些步骤,它帮助了我:

    1) 添加上网权限

    <uses-permission android:name="android.permission.INTERNET" />

    到 Android 清单: android/app/src/main/AndroidManifest.xml 就在应用标签上方。

    2) 添加这个键:

    <key>io.flutter.embedded_views_preview</key>
    <string>YES</string>
    

    ios/Runner/Info.plist

    3) 添加完整的网址(带有http://www

    4) 调用flutter clean,删除构建文件夹。

    【讨论】:

    • 在这种情况下调用“flutter clean”很重要。谢谢!
    • flutter clean 很适合我。
    • 在我的情况下,https 有效,http 给出了页面加载错误。
    【解决方案2】:

    我遇到了这个问题并通过将Android minSdkVersion= 16 更改为minSdkVersion= 20 来解决它,您可以在以下位置找到它:

    android > 应用程序 > build.gradle

    为什么是minSdkVersion= 20

    因为我在使用插件youtube_player_flutter 后遇到了异常,并且在插件的文档中他们声明您应该使用android minSdkVersion &gt;= 20,不幸的是默认情况下使用颤振minSdkVersion= 16,这就是为什么我得到PlatformException

    我的建议亲爱的读者请仔细查看您正在使用的插件以及它们在 Android 和 iOS 上支持的版本

    这就是我所知道的...

    【讨论】:

    • 遇到同样的问题...任何解决方案?
    • @NIKHATSHAIKH 你改变了 minSdkVersion 吗?
    • 我尝试更改它,但遇到了同样的问题:defaultConfig { // TODO: 指定您自己的唯一应用程序 ID (developer.android.com/studio/build/application-id.html)。 applicationId "com.example.flutterapp" minSdkVersion 20 targetSdkVersion 28 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } 还有
    【解决方案3】:

    pubspec.lock 中的 webview_flutter 版本与 pubspec.yaml 不同,您可以更改 pubspec.lock 中的版本即可解决

    【讨论】:

      【解决方案4】:

      iOS中,如果插件使用原生组件,则需要注册插件。

      为此,您必须在项目中导入 FlutterPluginRegistrant :https://flutter.dev/docs/development/add-to-app/ios/project-setup

      import FlutterPluginRegistrant
      

      之后,您可以使用此行来注册您的插件:

      GeneratedPluginRegistrant.register(with: FlutterViewController)
      

      ⚠️ 请注意,您必须在应用生命周期内注册一次插件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-16
        • 2018-07-02
        • 1970-01-01
        • 2022-11-14
        相关资源
        最近更新 更多