Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cordova WebView TIMEOUT ERROR with android

I am trying a simple application where I want to display my mobile website inside a native wrapper in android. I am following the documentation where the only change I am making is with loadUrl where instead of loading the CordovaWebView with index.html from assets folder, I will be pointing it to a mobile website, say https://www.google.com

The webview app comes up but there isn a CordovaWebView TIMEOUT ERROR received. following are the snippets from my code

public class CordovaWebViewActivity extends Activity implements CordovaInterface{

    private CordovaWebView webView;
    private static final String TAG = "CORDOVA_WEBVIEW_ACTIVITY";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cordova_web_view);

        webView = (CordovaWebView)findViewById(R.id.webview);
        webView.loadUrl("https://www.google.com");


    }

   @Override
   public Activity getActivity() {
    return this;
   }
   //... other overrided methods from interface
}

and when I run the code, I get the following error in my console DDMS

07-31 20:56:08.737: D/dalvikvm(2016): GC_FOR_ALLOC freed 42K, 6% free 2780K/2928K, paused 23ms, total 25ms
07-31 20:56:08.746: I/dalvikvm-heap(2016): Grow heap (frag case) to 3.887MB for 1127536-byte allocation
07-31 20:56:08.777: D/dalvikvm(2016): GC_FOR_ALLOC freed 2K, 4% free 3879K/4032K, paused 36ms, total 36ms
07-31 20:56:08.836: D/CordovaWebView(2016): CordovaWebView is running on device made by: unknown
07-31 20:56:08.836: D/JsMessageQueue(2016): Set native->JS mode to 2
07-31 20:56:08.996: D/gralloc_goldfish(2016): Emulator without GPU emulation detected.
07-31 20:56:09.376: E/cutils-trace(2016): Error opening trace file: No such file or directory (2)
07-31 20:56:09.687: D/TilesManager(2016): Starting TG #0, 0x2a26cc40
07-31 20:56:28.874: E/CordovaWebView(2016): CordovaWebView: TIMEOUT ERROR!

I have config.xml in my /res/xml folder that has the following

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.helloCordova" version="2.0.0" xmlns="http://www.w3.org/ns/widgets">
    <name>Hello Cordova</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="[email protected]" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <feature name="App">
        <param name="android-package" value="org.apache.cordova.App" />
    </feature>
    <access origin="*" />
    <preference name="useBrowserHistory" value="true" />
    <preference name="exit-on-suspend" value="false" />
    <preference name="fullscreen" value="true" />
    <preference name="webviewbounce" value="true" />
</widget>

and i also have a cordova.xml in my /res/xml folder

<?xml version="1.0" encoding="utf-8"?>

<cordova>

    <access origin="http://127.0.0.1*"/> <!-- allow local pages -->
    <access origin="https://www.google.com" />


    <log level="DEBUG"/>
    <preference name="useBrowserHistory" value="false" />
</cordova>

Please help what am I missing or doing wrong?

like image 399
curioussam Avatar asked Aug 01 '13 18:08

curioussam


1 Answers

You're not doing anything wrong, the TIMEOUT ERROR probably occurs because your Android phone (or your emulator) runs too slow.

You can try to increase the load timeout with the following instruction :

super.setIntegerProperty("loadUrlTimeoutValue", 60000);

in your OnCreate method. Or set it in the config.xml file :

<preference name="loadUrlTimeoutValue" value="60000" />
like image 192
Bastien Libersa Avatar answered Oct 10 '22 03:10

Bastien Libersa