【问题标题】:Android Web-View shouldOverrideUrlLoading() Deprecated.(Alternative)Android Web-View shouldOverrideUrlLoading() 已弃用。(替代)
【发布时间】:2017-02-01 05:24:25
【问题描述】:

我找到了一种使 mailto 在 android webview 中工作的方法,但该方法已被弃用。谁能给我新方法的完整代码 sn-p。 这是我在这个网站上找到的方法

Java代码如下:

@Override
   public boolean shouldOverrideUrlLoading(WebView view, String url) {

     if (url.startsWith("tel:")) {
         initiateCall(url);
         return true;
      }
       if (url.startsWith("mailto:")) {
         sendEmail(url.substring(7));
         return true;
      }
         return false;
  }

但是当我的目标平台为 Android 7.1.1 时它不起作用

【问题讨论】:

  • 您查看过 Android 文档吗?他们在那里有一个替换功能的链接。 boolean shouldOverrideUrlLoading(WebView 视图,WebResourceRequest 请求)
  • 是的,Gabe Sechan 我访问了 android 文档。但由于我是新手,我没有完全替换功能。所以我要代码 sn-p
  • 感谢您的建议 Gabe。我称自己是新手,因为我是一名机械工程专业的学生,​​试图为我的网站创建应用程序。我附近没有人教编码。我完全依赖在免费的互联网资源上学习。
  • @MVenkatNaidu 检查我的答案..

标签: android android-studio android-webview


【解决方案1】:

Android N 及以上有这个方法签名:

public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request)

所有安卓版本都支持的有这个方法签名:

public boolean shouldOverrideUrlLoading(WebView view, String url)

我应该怎么做才能让它在所有版本上都能正常工作?

你需要重写这两个方法

对于包括Android N+ 在内的每个api,您都需要更改您的代码。

检查下面的代码。它将针对具有N 及更高版本的较低API

@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (url.startsWith("tel:")) {
        initiateCall(url);
        return true;
    }
    if (url.startsWith("mailto:")) {
        sendEmail(url.substring(7));
        return true;
    }
    return false;
}

@RequiresApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    String url = request.getUrl().toString();
    if (url.startsWith("tel:")) {
        initiateCall(url);
        return true;
    }
    if (url.startsWith("mailto:")) {
        sendEmail(url.substring(7));
        return true;
    }
    return false;
}

【讨论】:

    猜你喜欢
    • 2012-12-01
    • 1970-01-01
    • 2019-07-05
    • 2016-07-28
    • 2021-12-24
    • 2016-01-17
    • 2020-03-03
    • 2015-11-21
    • 2021-05-26
    相关资源
    最近更新 更多