gpt4 book ai didi

安卓 WebView : Tel: Geo: Mailto: Proper Handling

转载 作者:行者123 更新时间:2023-11-29 02:06:41 29 4
gpt4 key购买 nike

有人可以帮助解释如何使用 WebView 正确处理 Tel: Geo: 和 Mailto: 链接。

目前所有链接都会导致“页面无法显示”错误。

下面是我正在使用的代码,它是从其他建议的解决方案中组合在一起的:

mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.loadUrl("http://www.google.com");
mWebView.setWebViewClient(new HelloWebViewClient());

}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:")) {
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
return true;
} else if (url.startsWith("mailto:")) {
url = url.replaceFirst("mailto:", "");
url = url.trim();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL, new String[]{url});
startActivity(i);
return true;
} else if (url.startsWith("geo:")) {
Intent searchAddress = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(searchAddress);
return true;
} else {
view.loadUrl(url);
return true;
}
}
}

最佳答案

This answer为我工作,您可以对每种情况使用 Intent.ACTION_VIEW,因为它会强制设备找到可能的选择以显示给用户。

关于安卓 WebView : Tel: Geo: Mailto: Proper Handling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9649334/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com