未知网址方案

时间:2019-02-21 15:59:01

标签: android android-intent webview

我有一个android webview,可使用意图将其打印到收据打印机。使用chrome浏览器可以正常工作,但是当我打开尝试使用webview进行打印时,它给我一条错误消息,如下所示

该网页不可用。 网页位于 意图://.... 网址:: ERR_UNKNOWN_URL_SCHEME。

我看过以下链接,但不确定如何实现。 how-to-fix-unknown-url-scheme-in-android-webview

我不是Android开发人员。任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

解决方案位于您提供的链接中。

  

WebView通常会识别httphttps,除了   例如intent://market://app://mail://等   除非我们添加 handler 来处理这些网址,否则WebView会识别   方案或禁用这些方案,并且仅加载 http https   方案。

在您的MainActivity中对此进行测试。尝试使用WebView

中的网址打开一个简单的 google搜索窗口
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;
      }
    });
  }
}