runner525 / x5webview-cordova-plugin

x5webview for cordova
Apache License 2.0
114 stars 49 forks source link

出现'deviceready has not fired after 5 seconds.'问题的解决方案。 #13

Open wansong opened 7 years ago

wansong commented 7 years ago

针对该问题,经过仔细debug,发现其原因是js调用native的通道根本没有建立起来!即在js里面调用cordova.exec方法后,执行直接被忽略,解决方法是: 给X5WebViewEngine.java的init方法的倒数第二行前添加如下的代码:

public void init(.........) {

//////以下为添加的代码/////////////////
    if(Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2) {
        nativeToJsMessageQueue.addBridgeMode(new NativeToJsMessageQueue.EvalBridgeMode(this, cordova));   
    }
//////以上为添加的代码/////////////////

    bridge = new CordovaBridge(pluginManager, nativeToJsMessageQueue);
    exposeJsInterface(webView, bridge);

}
Aris1024 commented 6 years ago

hi,我添加了以后 APP直接崩溃.

likyh commented 6 years ago

https://github.com/runner525/x5webview-cordova-plugin/issues/24 看我的解决方案