Android - 为什么webview重定向到webbrowser

Dev*_*udh 4 android android-webview

我尝试一个简单的webView应用程序.这是我的代码:

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView)findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("http://eepis-its.edu");
}

public class myWebClient extends WebViewClient{
    public void onPageStarted(WebView view, String url, Bitmap favicon){
        super.onPageStarted(view, url, favicon);
    }

    public boolean shouldOverrideUrlLoading(WebView view, String url){
        view.loadUrl(url);
        return true;
    }
}

public boolean onKeyDown(int keyCode, KeyEvent event){
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()){
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

并且,当我尝试单击该站点上的超链接时,我重定向到移动浏览器.为什么会发生?我想要的是,当我点击它在webview上的超链接时.

请帮我.

Chr*_*ell 12

您必须覆盖标准行为,该行为会在单击链接时启动浏览器.使用WebViewClientshouldOverrideUrlLoading().SDK中有一个这样的例子(为方便起见,下面复制).

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

...然后你就打电话someWebView.setWebViewClient(new HelloWebViewClient());.