我们有一个带有最新版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
的设备,这不再适用我应该添加哪种条件来支持这些设备?
答案 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。