【问题标题】:Unknown URL Scheme [closed]未知的 URL 方案 [关闭]
【发布时间】:2019-02-21 15:59:00
【问题描述】:
我有一个 android WebView,它使用意图打印到收据打印机。使用 chrome 浏览器可以正常工作,但是当我打开尝试使用 WebView 打印时,它会给我一条错误消息,如下所示
Webpage not available.
The webpage at
intent://....
net::ERR_UNKNOWN_URL_SCHEME.
我已经看到了以下链接,但我不确定如何实现它。
how-to-fix-unknown-url-scheme-in-android-webview
我不是安卓开发者。任何建议表示赞赏。
【问题讨论】:
标签:
android
android-intent
webview
【解决方案1】:
解决方案在您提供的链接中。
WebView 通常会识别http 和https,除了
这些,例如 - intent://,market://,app://,mail:// 等不会
除非我们添加 handler 来处理这些 url,否则被 WebView识别
方案或通过禁用这些方案并且仅加载 http 和 https
计划。
在您的 MainActivity 中对此进行测试。尝试使用WebView中的网址打开一个简单的谷歌搜索窗口
public class MainActivity extends AppCompatActivity {
String url = "http://www.google.com";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webactivity);
final WebView webview = (WebView) findViewById(R.id.web1);
webview.loadUrl(url);
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
if (url.startsWith("http") || url.startsWith("https")) {
return true;
} else {
webview.stopLoading();
webview.goBack();
Toast.makeText(MainActivity.this, "Unknown Link, unable to handle", Toast.LENGTH_SHORT).show();
}
return false;
}
});
}
}