【问题标题】:My webview is opening the webpage in the default browser我的 webview 在默认浏览器中打开网页
【发布时间】:2019-06-23 16:07:49
【问题描述】:

所以我刚刚实现了一个简单的 webview 应用程序,我在其中加载了 stackoverflow 主页。早些时候它工作得很好,但现在当我点击某个链接时,它会在默认浏览器中打开该链接。我通过创建我的自定义 webViewClient 类实现并覆盖了 shouldoverrideUrlLoading 方法。 我知道有很多这样的问题,但我写这个问题只是因为它们对我不起作用。

public class MyWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if(Uri.parse(url).getHost().endsWith(".com"))
            return false;
        Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
        view.getContext().startActivity(intent);
        return true;
    }

}

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView = findViewById(R.id.webview);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new MyWebViewClient());

        final customEditText editText = findViewById(R.id.urlEditText);
        Button button = findViewById(R.id.enterButtonId);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                webView.loadUrl("https://"+editText.getText().toString().trim().toLowerCase());
            }
        });

    }

【问题讨论】:

    标签: android webview


    【解决方案1】:

    你可以使用这个: webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("url"); 只需实现 web 客户端并在 loadUrl 之前设置它。最简单的方法是:

    WebView.setWebViewClient(new WebViewClient());

    【讨论】:

    • 我已经实现了这个。你必须重写 shouldOverrideUrlLoading( ) 方法让你的 webview 在你的 webview 中打开网站。如果我们不覆盖它,那么当我们链接到加载的 Url 上的任何链接时,肯定会打开默认浏览器。
    【解决方案2】:

    因此,当我在此阅读教程https://www.journaldev.com/9333/android-webview-example-tutorial 时,给出了当 shouldOverrideUrlLoading( ) 方法提供 false 时,它​​的 url 在我们的 webview 中打开,如果它返回 true,则根本不会加载页面。所以我认为我的代码之前的工作是因为我打开了 .com 扩展网站,但是当我打开其他扩展网站时,它会重定向到默认浏览器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-24
      • 2011-07-26
      • 1970-01-01
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      相关资源
      最近更新 更多