You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter升级flutter_inappwebview至6.0.0后类型不匹配问题求助

解决flutter_inappwebview 6.0.0版本中Uri无法赋值给WebUri的问题

flutter_inappwebview 6.0.0版本做了类型变更,URLRequest的url参数不再支持Dart原生的Uri类型,必须使用包内提供的WebUri类型,这就是你遇到报错的原因。

修改方法很简单,把代码里的Uri.parse()替换成WebUri构造方法即可:

修改后的代码片段:

return Observer(builder: (context) {
      return Stack(
        children: [
          wishListStore.isNetworkAvailable
              ? InAppWebView(
                  key: webViewKey,
                  initialUrlRequest: URLRequest(
                      url: WebUri(widget.mInitialUrl == null
                          ? 'https://www.google.com'
                          : widget.mInitialUrl!)),
                  initialOptions: options,
                  onWebViewCreated: (controller) {
                    webViewController = controller;
                  },
                  onLoadStart: (controller, url) {
                    log("onLoadStart");
                    setState(() {
                      isLoading = true;
                    });

如果需要在Dart原生Uri和WebUri之间转换,还可以用这两个方法:

  • 从Uri转WebUri:WebUri.fromUri(yourUri)
  • 从WebUri转Uri:yourWebUri.toUri()

内容的提问来源于stack exchange,提问作者محمد البحراني

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 05:59:58