WebView启动URL Android 4.4.3

时间:2014-06-09 16:08:33

标签: android android-webview

我们有一个带有最新版Android(4.4.3)的nexus 5和一个在webview中运行的混合Web应用程序。 在此更新之前,我们检查了方法 onPageFinished 中的网址 以“/”或“about:blank”开头,以呈现我们的网络应用程序的登录页面。 类似的东西:

if (url.equals("/") || url.equals("about:blank"))
   webview.loadUrl(preferences.getString("server_url",
                    getString(R.string.DefaultURL)));

对于4.4.3

的设备,这不再适用

我应该添加哪种条件来支持这些设备?

2 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。 在问题代码之前,我们使用图像启动webview,以在加载应用程序之前显示加载消息。使用:

  webview.loadDataWithBaseURL("/", wait_html, "text/html", "UTF-8", "");

wait_html参数是body标签内的图像标记。 第一次将web视图作为url启动时,html就是我在onPageFinished方法中获得的。此行为与以前版本的Android中的行为不同。 我们改变了它的实现方式,只使用一个布尔变量来检查它是否是第一次创建Web视图来加载服务器的URL。

if (FirstTime) 
 FirstTime = false;
 webview.loadUrl(preferences.getString("server_url",getString(R.string.DefaultURL)));

答案 1 :(得分:0)

请使用"正常" URL代替" /"或者"关于:空白"。理想情况下,只需使用" http://mydomain.com/"。如果使用"怪异的" 4.4 WebView将表现不一致网址。

另外,为什么你需要等待onPageFinished呢?您应该能够在新创建的WebView上调用loadUrl。