鸿蒙的webview_flutter如何在安卓上使用

在Flutter项目中集成了webview_flutter插件,想在鸿蒙系统的安卓设备上使用,但遇到了一些兼容性问题。具体表现为WebView无法正常加载网页,或者出现白屏现象。请问该如何正确配置webview_flutter以适配鸿蒙系统的安卓设备?是否需要额外的依赖或设置?有没有具体的解决方案或示例代码可以参考?

2 回复

在安卓上使用鸿蒙的webview_flutter,需确保Flutter项目已集成该插件。在pubspec.yaml中添加依赖,配置AndroidManifest.xml的网络权限,并在代码中引入使用即可。

更多关于鸿蒙的webview_flutter如何在安卓上使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


要在安卓上使用 webview_flutter 插件(支持鸿蒙生态),需确保正确配置和权限设置。以下是步骤:

  1. 添加依赖:在 pubspec.yaml 中添加:

    dependencies:
      webview_flutter: ^4.4.2  # 使用最新稳定版本
    

    运行 flutter pub get

  2. 安卓配置

    • android/app/src/main/AndroidManifest.xml 中添加网络权限:
      <uses-permission android:name="android.permission.INTERNET" />
      
    • 如果目标 API 级别 30+(Android 11),需在 AndroidManifest.xml<application> 标签内添加:
      <queries>
        <intent>
          <action android:name="android.intent.action.VIEW" />
          <data android:scheme="https" />
        </intent>
      </queries>
      
  3. 基本使用代码

    import 'package:webview_flutter/webview_flutter.dart';
    
    class WebViewExample extends StatefulWidget {
      @override
      _WebViewExampleState createState() => _WebViewExampleState();
    }
    
    class _WebViewExampleState extends State<WebViewExample> {
      late final WebViewController controller;
    
      @override
      void initState() {
        super.initState();
        controller = WebViewController()
          ..setJavaScriptMode(JavaScriptMode.unrestricted)
          ..loadRequest(Uri.parse('https://flutter.dev'));
      }
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(title: Text('WebView Example')),
          body: WebViewWidget(controller: controller),
        );
      }
    }
    
  4. 注意事项

    • 确保设备或模拟器有网络连接。
    • 鸿蒙设备兼容安卓应用,此配置在鸿蒙系统上同样适用。
    • 如需高级功能(如 JavaScript 交互),参考插件文档。

完成以上步骤后,即可在安卓(及鸿蒙)上运行 WebView。

回到顶部