首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振网站: webview_flutter插件未能打开url方案

颤振网站: webview_flutter插件未能打开url方案
EN

Stack Overflow用户
提问于 2022-07-04 08:07:16
回答 3查看 522关注 0票数 1

我用Flutter开发了一个网页,当单击floatActionButton.I时,我想使用url方案打开另一个应用程序,我现在遇到了一些问题:

以手机应用程序为例,其他应用程序也有相同的问题,

  1. 使用系统浏览器加载网页,点击按钮,您可以成功地打开手机应用程序,如下所示:
  1. 我使用颤动插件在自己的程序中加载网页,但它未能打开,如下所示:

单击网页中的事件代码按钮如下:使用启动器插件

代码语言:javascript
复制
  void _openAPP() {
    launchUrl(
      Uri(scheme: "tel", host: "12345678"),
      mode: LaunchMode.externalApplication,
    );
  }

我想知道为什么使用webview_flutter插件加载的网页不打开网址方案。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-07-04 10:33:34

我知道原因,这一次我没有使用url_launcher插件,直接使用href跳转。需要修改webview_flutter_android插件中的代码。

  1. 按钮单击事件代码
代码语言:javascript
复制
    import 'dart:html' as html;
    void _openAPP() {
        html.window.location.href = "tel://123456789";
    }
  1. 修改webview_flutter_android插件中的代码。

io/flutter/plugins/webviewflutter/WebViewClientHostApiImpl.java

代码语言:javascript
复制
@Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
      // -- new code start
      final String url = request.getUrl().toString();
      if (!url.startsWith("http") || !url.startsWith("https")) {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(url));
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        view.getContext().startActivity(intent);
        return true;
      }
      // -- new code end
      if (flutterApi != null) {
        flutterApi.requestLoading(this, view, request, reply -> {});
      }
      return shouldOverrideUrlLoading;
    }
票数 0
EN

Stack Overflow用户

发布于 2022-07-04 08:12:55

我怀疑你必须对待你的Android平台项目,才能允许这种行为。例如,您可以尝试更改AndroidManifest.xml:

代码语言:javascript
复制
<uses-permission android:name="android.permission.CALL_PHONE" />
票数 0
EN

Stack Overflow用户

发布于 2022-07-04 11:53:43

正确的格式是tel:12345678而不是tel://12345678

代码语言:javascript
复制
Uri.parse("tel:12345678")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72853535

复制
相关文章

相似问题

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