如何从点击号码的 webviewclient 打开 Dialer Activity?
How to open Dialer Activity from a webviewclient with clicked number?
我正在我的应用程序中实现 Web 视图。现在,当用户点击 phone 号码时,它会显示 net::ERR_UNKNOWN_URL_SCHEME。但是如果我使用 chrome。它为拨号器应用程序带来了 phone 号码。
我的申请中需要完全相同的东西。当在网络视图中单击 phone 号码时,需要使用该 phone 号码打开拨号器。
这是我的 shouldOverrideUrlLoading
网络视图方法。我可以看到有答案 here. 但我对 android 和 java 还很陌生,直到现在我还不能让它工作。
public boolean shouldOverrideUrlLoading(WebView view, String url){
progressBar.setVisibility(view.VISIBLE);
view.loadUrl(url);
return true;
}
这一定有效。我们需要覆盖 webview class 的 shouldOverrideUrlLoading
方法。并检查 url 是否包含 tel:xxxx
然后为拨号程序创建一个意图并调用拨号程序。如果它是 mailto:
link
,我们可以调用任何我们想要的应用程序,例如 gmail 应用程序
这是方法。
@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;
}
}
我正在我的应用程序中实现 Web 视图。现在,当用户点击 phone 号码时,它会显示 net::ERR_UNKNOWN_URL_SCHEME。但是如果我使用 chrome。它为拨号器应用程序带来了 phone 号码。
我的申请中需要完全相同的东西。当在网络视图中单击 phone 号码时,需要使用该 phone 号码打开拨号器。
这是我的 shouldOverrideUrlLoading
网络视图方法。我可以看到有答案 here. 但我对 android 和 java 还很陌生,直到现在我还不能让它工作。
public boolean shouldOverrideUrlLoading(WebView view, String url){
progressBar.setVisibility(view.VISIBLE);
view.loadUrl(url);
return true;
}
这一定有效。我们需要覆盖 webview class 的 shouldOverrideUrlLoading
方法。并检查 url 是否包含 tel:xxxx
然后为拨号程序创建一个意图并调用拨号程序。如果它是 mailto:
link
这是方法。
@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;
}
}