Android 2.3.3 Webview

时间:2012-02-26 20:01:48

标签: android ajax webview

尝试创建一个具有webview的非常基本的应用程序。 webview将加载一个网页,该网页使用一些javascript来进行Ajax调用并每隔几秒更新一次。

我的Android应用程序运行正常,我可以加载我的页面,它可以在2.3.3之后的任何Android版本上按预期工作。在2.3.3页面加载,基本的javascript似乎工作,但它不会从Ajax调用加载数据。我可以直接在2.3.3的浏览器中打开这个页面,并且可以通过更新Web浏览器的Ajax调用来加载它。

我注意到这是在API 11中添加的,它看起来像我需要的,但由于它在11之前不存在,有什么可以帮助吗?因为它在股票浏览器中工作,我认为它应该在webview中工作吗?

  

public void setAllowContentAccess(boolean allow)自:API Level 11   在WebView中启用或禁用内容URL访问。内容网址   访问允许WebView从内容提供商加载内容   安装在系统中。默认设置已启用。

让我知道,谢谢

这是我正在使用的代码,url存储在系统首选项中。

    WebView myWebView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setUserAgentString(preferences.getString("deviceID", null));
    myWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    myWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
    myWebView.clearCache(true);

    String defaultURL = preferences.getString("url1", null);
    myWebView.loadUrl(defaultURL);

2 个答案:

答案 0 :(得分:1)

您是否在网页视图中启用了javascript?

myWebView.getSettings().setJavaScriptEnabled(true);

答案 1 :(得分:1)

2.3.3中

addJavascriptInterface 已破解,请参阅此帖:http://code.google.com/p/android/issues/detail?id=12987

以下是快捷方式来修复它:http://quitenoteworthy.blogspot.com/2010/12/handling-android-23-webviews-broken.html