我正在我的应用程序中实现 WebView 。现在,当用户点击电话号码时,它会显示 net::ERR_UNKNOWN_URL_SCHEME。但如果我使用 Chrome 。它会为拨号器应用程序带来该电话号码。
我的应用程序中需要完全相同的东西。当在 Web View 中单击电话号码时,需要使用该电话号码打开拨号器。
这是我的 webview 的 shouldOverrideUrlLoading
方法。我可以看到有答案here.但我对 android 和 java 还很陌生,直到现在我还无法让这个东西工作。
public boolean shouldOverrideUrlLoading(WebView view, String url){
progressBar.setVisibility(view.VISIBLE);
view.loadUrl(url);
return true;
}
最佳答案
这一定有效。我们需要重写 webview 类的 shouldOverrideUrlLoading
方法。并检查 url 是否包含 tel:xxxx
然后为拨号器创建一个 Intent 并调用拨号器。我们可以调用任何我们想要的应用程序,例如 gmail 应用程序(如果它是 mailto:
链接
这是方法。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if(url.contains("tel:")) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
} else {
progressBar.setVisibility(view.VISIBLE);
view.loadUrl(url);
return true;
}
}
关于android - 如何通过点击号码从 webviewclient 打开拨号器 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38933852/