Java Kitkat(4.4)中的WebView将在新的Broswer窗口中打开

Java Kitkat(4.4)中的WebView将在新的Broswer窗口中打开,java,android,webview,android-4.4-kitkat,Java,Android,Webview,Android 4.4 Kitkat,在我将android平板电脑从4.3升级到4.4之前,我成功加载了一个webview,提示用户使用Google登录(使用OAuth 2.0),每当他们单击登录按钮时,他们都会被重定向到允许访问窗口,从那里他们可以单击允许或拒绝。所有这些都是在没有打开新的浏览器窗口的情况下发生的 升级后,当我加载webview时,这就是我看到的(仍然可以) 用户输入其凭据后,不会被重定向到同意屏幕,而是会看到此新的web浏览器(Chrome)窗口: 正如您所看到的,这是一个常规的浏览器窗口,而不是第一个 有趣

在我将android平板电脑从4.3升级到4.4之前,我成功加载了一个webview,提示用户使用Google登录(使用OAuth 2.0),每当他们单击登录按钮时,他们都会被重定向到允许访问窗口,从那里他们可以单击允许或拒绝。所有这些都是在没有打开新的浏览器窗口的情况下发生的

升级后,当我加载webview时,这就是我看到的(仍然可以)

用户输入其凭据后,不会被重定向到同意屏幕,而是会看到此新的web浏览器(Chrome)窗口:

正如您所看到的,这是一个常规的浏览器窗口,而不是第一个

有趣的是,它在4.3中运行良好,但在4.4中却不行!有人对如何解决这个问题有什么建议吗

提前谢谢你

编辑一些代码

public class MyWebViewClient extends WebViewClient {

   @Override
   public boolean shouldOverrideUrlLoading(WebView view, String url)
         {
      if(Uri.parse(url).getHost().endsWith("tumblr.com"))
              {
         return false;
      }

      if(Uri.parse(url).getHost().endsWith("facebook.com"))
              {
        return false;
      }
          if(Uri.parse(url).getHost().endsWith("fake.com"))
            {
             return false;
            }
          if(Uri.parse(url).getHost().endsWith("google.com"))
           {
            return false;
            }

      if(Uri.parse(url).getHost().startsWith("file"))
            {
        return false;
    }

      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
      view.getContext().startActivity(intent);
      return true;
    }



       @Override
       public void onPageStarted(WebView view, String url, Bitmap bitmap)
       {
      super.onPageStarted(view, url, null);

      if(url.startsWith("https://accounts.google.com/ServiceLogin"))
           {
     view.setInitialScale(100);
       }
       }
 }

请发布您的代码,特别是您的
WebViewClient
实现。我添加了一些代码!我不知道为什么这会在任何版本的Android上起作用。您总是在浏览器中加载网页,可以通过返回
false
或自己手动加载。我返回false,这样它就不会在新浏览器中打开。
true
表示不打开新浏览器,并且是您自己处理事件
false
意味着您需要默认的
WebView
行为,即打开新浏览器。