【问题标题】:Android WebView shouldOverrideUrlLoading issueAndroid WebView shouldOverrideUrlLoading 问题
【发布时间】:2019-05-16 10:55:08
【问题描述】:
public WebView mywebview;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);
    mywebview = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = mywebview.getSettings();
    webSettings.setJavaScriptEnabled(true);
    mywebview.loadUrl("http://www.infbooster.com/");
    mywebview.setWebViewClient(new WebViewClient());

}

@Override
public void onBackPressed() {
    if (mywebview.canGoBack()) {
        mywebview.goBack();
    } else
        super.onBackPressed();
}

public boolean shouldOverrideUrlLoading(WebView mywebview, String url) {

    if (!url.contains("www.infbooster.com")) {
        Intent browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
        startActivity(browserIntent);
        return false;

    } else {

        return true;
    }
}

大家好,我是新手,需要一些帮助,因为我无法让这段代码正常工作。在我的网站上,有一个 whatsapp 链接,如果它在 webview 中打开,它就不起作用。所以我需要它去浏览器才能打开链接。有人可以指导我或帮我编辑吗?

【问题讨论】:

  • 你试过我的答案了吗,如果没有请试试。如果有效,则接受它作为答案。

标签: android android-webview


【解决方案1】:

你可以试试这个:

mywebview.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            if(!url.contains("www.infbooster.com")) {
                Intent browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
                startActivity(browserIntent);
                return false;
            } 
            return super.shouldOverrideUrlLoading(view, url);
        }

});

【讨论】:

    猜你喜欢
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2021-12-01
    相关资源
    最近更新 更多