android - Android APP - 拨打电话号码 net::ERR_UNKNOWN_URL_SCHEME
问题描述
我用 Android Studio 创建了一个非常简单的 APP,用于加载网站。在网站上,也有留下电话号码的人的不同条目。加载应用程序并单击“电话”字段时,收到错误消息:网站电话:066653353 无法加载 网络 :: ERR_UNKNOWN_URL_SCHEME
这是 MainActivity.java 文件:
package name.work;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import name.work.R;
public class MainActivity extends Activity {
WebView myWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myWebView = (WebView) findViewById(R.id.myWebView);
myWebView.loadUrl("https://www.mydomain.work");
myWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
viewx.loadUrl(urlx);
return false;
}
});
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
myWebView.goBack(); // Go to previous page
return true;
}
// Use this as else part
return super.onKeyDown(keyCode, event);
}
}
请帮我解决这个问题!非常感谢 :-) 关于shotput
解决方案
在内部shouldOverrideUrlLoading()
方法中,您可以检查 url 是否以开头tel:
并打开设备的拨号器应用程序,如下所示:
public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
if (urlx.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(urlx));
startActivity(intent);
return true;
}
viewx.loadUrl(urlx);
return true;
}
推荐阅读
- javascript - react-native-webview 加载本地 HTML 文件但得到纯文本
- javascript - 如何在javascript中将UTC时间戳转换为DateTime.UtcNow.Ticks?
- c++ - 尝试从文本文件构建二维数组,但 endl char 被放置在输入上方,它在我的 for 循环中的位置是否错误?
- asp.net - 如何在asp listitems中放置多个标记
- python - 根据特定匹配检查列表列表并输出
- java - 首先会发生什么:onCreate 或 configureFlutterEngine?
- python - 为什么我的预测模型准确率太高?
- c# - SqlKata.Execution.XQuery' 不包含“更新”的定义
- amazon-s3 - 迭代 pyspark 数据框中的分区
- symfony - 从 Symfony 4.4 升级到 5.0 时不理解奇怪的错误