Android - Phonegap - 发生网络错误

时间:2012-11-03 21:08:25

标签: android cordova

我的环境:
Eclipse SDK 4.2.1
Cordova 2.2.0(Phonegap)
目标平台:Android 4.0.3(API级别15)

我试过搜索很多论坛(包括这个论坛),似乎找不到解决这个问题的方法。

首先, assets/www 目录中页面之间的链接可以正常工作。但是,在其中一个页面上,我有:

<a href="http://www.google.com">Google</a>

我也试过rel="external"作为属性,但结果是一样的。

我已根据指示在Android白名单中指定google.com添加:

<access origin="http://google.com" subdomains="true" />

到res / xml / config.xml文件。

点击上述链接的结果是:

  

应用程序错误
  发生网络错误。 (http://www.google.com/)

并且应用程序崩溃。

我在API Level 15的AVD Manager(仿真器)集和功能设备(Android 4.0.3的HTC One X)上得到了结果。否则两者都可以上网。

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:0)

  

D / Cordova(560):   onPageFinished(file:///android_asset/www/index.html)D / chromium(   560):未知的铬误差:-400 D / DroidGap(560):   onMessage(onPageStarted,http://www.google.com/)D / Cordova(560):   CordovaWebViewClient.onReceivedError:错误代码= -1 Descripti on = A.   发生网络错误。网址= http://www.google.com/ D / DroidGap(560):   的onMessage(onReceivedError,{&#34;的errorCode&#34;:-1&#34; URL&#34;:&#34; HTTP:// WWW   .google.com /&#34;,&#34;说明&#34;:&#34;发生网络错误。&#34;})D / DroidGap(   560):onMessage(onPageStarted,http://www.google.com/)D / Cordova(   560):onPageFinished(http://www.google.com/)D / DroidGap(560):   onMessage(onNativeReady,null)D / DroidGap(560):   onMessage(onPageFinished,http://www.google.com/)D / SoftKeyboardDetect(   560):忽略此事件D / Cordova(560):   onPageFinished(http://www.google.com/)D / DroidGap(560):   onMessage(onNativeReady,null)D / DroidGap(560):   的onMessage(onPageFinished,HTTP://www.google.com/)

我唯一一次看到-400错误就是上网时间 许可证丢失:

<uses-permission android:name="android.permission.INTERNET"/>

答案 1 :(得分:0)

您需要固定的白名单吗?

我通常会很好:

<access origin="*" />

问题可能是Google转发到另一个端口(https / 443),因此子域规范无济于事。

或者您可以在不指定协议的情况下尝试:

<access origin="google.com" subdomains="true" />

或尝试使用通配符as described here

<access origin="*google.com*" />