【问题标题】:The connection to the server was unsuccessful.(file:///android_asset/www/index.html)与服务器的连接不成功。(file:///android_asset/www/index.html)
【发布时间】:2011-10-03 10:42:49
【问题描述】:

我正在使用 phonegap 开发一个 android 应用程序,它调用一个网站 (http://siteaddress.com:8081) 来获取 json 编码数据。这在模拟器上运行良好,然后我使用 phonegap build 构建了 android 包 .apk 文件,但是当我在我的 android 手机上安装这个包并启动应用程序时,它强制关闭应用程序显示错误“与服务器的连接是不成功。(file:///android_asset/www/index.html)"。

我已经使用 phonegap build 构建了应用程序,将 index.html 传递给它,并尝试了 .zip 文件包,但仍然出现此错误。我尝试搜索此错误,并按照某些网站的建议在我的应用中包含以下代码,但仍然出现错误。

super.setBooleanProperty("loadInWebView", true);
super.setIntegerProperty("loadUrlTimeoutValue", 60000);

这与我试图从我的应用程序调用的网站有关吗?我尝试在移动浏览器中打开该网站,但它没有打开,但该网站在桌面浏览器上运行良好。我做错了什么吗?

【问题讨论】:

  • 如有必要,这两行应该何时运行?

标签: javascript android html cordova


【解决方案1】:

我猜它是您使用的端口号。您是否尝试过为您的服务器使用端口 80 而不是 8081?您的设备上可能未打开该端口。

【讨论】:

  • 它工作了......这很奇怪,因为 url 在桌面浏览器中工作。无论如何,非常感谢。
  • 欢迎您,我怀疑这是因为您的移动设备或网络对打开哪些端口的限制比您的桌面更严格。
  • 我在端口 8081 上加载了一个调试脚本。删除它解决了我的问题。
【解决方案2】:

下面的代码 sn -p 解决了我的问题

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.loadUrl("file:///android_asset/www/home/index.html");
    super.setIntegerProperty("loadUrlTimeoutValue", 10000); 

我已经添加了

super.setIntegerProperty("loadUrlTimeoutValue", 10000); 

到 com.mypackage.xxx.java 文件 等待10秒

【讨论】:

  • 这实际上不是一个解决方案,因为它只会延迟警报 10 秒。
【解决方案3】:

*我通过引用解决了同样的问题 * this link...

由于服务器连接超时而发生此错误,因此,在上面的帖子中已经提到,您可以在这段时间内延迟 10 秒,然后放一些启动画面..

【讨论】:

  • 是的,这也为我解决了。作为记录,当您从应用程序主页执行(很多?)网络请求时,似乎这个问题就会出现 - 所以加载一个几乎空的页面然后跳转到“真实”页面似乎欺骗了系统行为。感谢 Pradeep!
猜你喜欢
  • 1970-01-01
  • 2012-09-01
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 2021-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多