android - Android 的 Cordova WebView 超时错误

标签 android cordova android-webview

我正在尝试一个简单的应用程序,我想在 android 的 native 包装器中显示我的移动网站。我正在关注文档,其中我所做的唯一更改是使用 loadUrl,而不是从 Assets 文件夹中使用 index.html 加载 CordovaWebView,我会将其指向移动网站,例如 https://www.google.com

webview 应用程序出现,但收到 CordovaWebView 超时错误。以下是我的代码 fragment

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
}

当我运行代码时,我在控制台 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!

我的/res/xml 文件夹中有 config.xml,其中包含以下内容

<?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="dev@cordova.apache.org" 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>

我的/res/xml 文件夹中也有一个 cordova.xml

<?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>

请帮助我遗漏或做错了什么?

最佳答案

您没有做错任何事情,TIMEOUT ERROR 可能是因为您的 Android 手机(或您的模拟器)运行速度太慢。

您可以尝试使用以下指令增加加载超时:

super.setIntegerProperty("loadUrlTimeoutValue", 60000);

在您的 OnCreate 方法中。或者在config.xml文件中设置:

<preference name="loadUrlTimeoutValue" value="60000" />

关于android - Android 的 Cordova WebView 超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18001660/

相关文章:

android - 将 Firebase 中的重复对象加载到 ListView 中

android - 如何在 Android 日期选择器中禁用 future 日期

javascript - Cordova iOS 在应用程序关闭时丢失存储空间

java - 如何在浏览器中打开在 Android 的 WebView 中单击的链接

android - AppCompat Force Holo 主题

java - 确定 TLS 数据包 Java/Android 的数据包大小

javascript - 如何访问phonegap/android中的图库?

javascript - 如何从 jsonp 响应中获取值并将该值设置为其他函数中的其他变量?

android - WebViewClient.shouldOverrideUrlLoading 给出无效的 url

android - 将 WebView 缓存的图像加载到 ImageView 中