Android 未知URL方案

Android 未知URL方案,android,android-intent,webview,Android,Android Intent,Webview,我有一个安卓WebView,它使用intent打印到收据打印机。使用chrome浏览器可以正常工作,但当我打开时,尝试使用WebView打印,它会给我一条错误消息,如下所示 Webpage not available. The webpage at intent://.... net::ERR_UNKNOWN_URL_SCHEME. 我已经看到了下面的链接,但我不确定如何实现它。 我不是android开发者。非常感谢您的建议。您提供的链接中提供了解决方案 WebView通常会识别http和h

我有一个安卓
WebView
,它使用intent打印到收据打印机。使用chrome浏览器可以正常工作,但当我打开时,尝试使用
WebView
打印,它会给我一条错误消息,如下所示

Webpage not available.
The webpage at
intent://....
net::ERR_UNKNOWN_URL_SCHEME.
我已经看到了下面的链接,但我不确定如何实现它。


我不是android开发者。非常感谢您的建议。

您提供的链接中提供了解决方案

WebView通常会识别
http
https
以外的任何内容 例如–
意图://
市场://
应用程序://
邮件://
等将不适用 除非我们添加处理程序来处理这些url,否则WebView将无法识别这些url 或通过禁用这些方案并仅加载httphttps 计划

在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;
      }
    });
  }
}