Webview loadUrl超过2097152个字符

时间:2016-06-07 19:43:52

标签: android webview

我的Android应用程序出了问题。 我有很多GeoJson对象,我用loadUrl加载所有这些对象。 但是,当一个GeoJson超过2097152个字符时,它将不会显示在地图上。 有没有办法将数据传递给webview,而不是触发错误? 我还没有找到任何办法。

这是我的代码:

final WebView browser;
WebSettings webSettings = browser.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setDatabaseEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setGeolocationEnabled(true);

GeoClient geo = new GeoClient();
browser.setWebChromeClient(geo);        
String origin = "";
geo.onGeolocationPermissionsShowPrompt(origin, this);
browser.getSettings().setJavaScriptEnabled(true);
browser.setWebViewClient(new WebViewClient() 
{
        @Override
        public void onPageFinished(WebView view, String url)
        {
              browser.loadUrl("javascript:AndroidFunction(" + messagea + "," + messageb + "," + messagec + "," + messaged + "," + messagee + "," + messagef + "," + messageg + ")");

这是loadUrl的问题。 有没有办法解决这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:3)

因为清单中的targetSdkVersion是19+(基于铬)。 因此,您可以使用evaluateJavascript()方法而不是loadUrl。 loadUrl只能在版本18-中没有上述错误的情况下正常工作。 https://developer.android.com/guide/webapps/migrating.html

Gook运气。