phonegap 3.1 – 无法隐藏设备上的启animation面

使用phonegap 3.1我试图在设备准备就绪时隐藏启animation面:

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { navigator.splashscreen.hide(); } 

但它返回:

不能调用未定义的方法'隐藏'

导航器对象不包括splashscreen属性。

我已经在phonegap 2.9上试了一下,它工作正常。

Solutions Collecting From Web of "phonegap 3.1 – 无法隐藏设备上的启animation面"

经过研究和实验,这是我们为了得到它而必须做的工作:

cordova plugin add org.apache.cordova.splashscreen

cordova build

然后,cordova构build添加了错误的行到config.xml – 所以我们不得不将其更改为以下内容:

  <feature name="SplashScreen"> <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" /> </feature> 

并在你的主要活动

  super.setIntegerProperty("splashscreen", R.drawable.splash); super.setIntegerProperty("splashScreenDelay", 10000); //time to display the splash 

最后,我们已经能够使用JavaScript的hide方法。

您是否使用CLI来添加SplashScreen插件 ? 你必须添加插件$ cordova plugin add org.apache.cordova.splashscreen (将插件代码从plugins.cordova.io复制到/yourApp/plugins/org.apache.cordova.splashscreen/,然后cordova build复制插件代码进入相应的平台位置。

如果你使用phonegap构build,而不是做

 cordova plugin add ... 

从命令行,你需要添加插件和function到config.xml

 <gap:plugin name="org.apache.cordova.splashscreen" /> <feature name="SplashScreen"> <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" /> <param name="ios-package" value="CDVSplashScreen" /> </feature> 

我唯一能猜到的是仔细检查你的HTML头部是否有<script type="text/javascript" charset="utf-8" src="cordova.js"></script> JS。 对不起,还没弄错3.1呢。

添加这个:

 <preference name="SplashScreen" value="splash.png" /> <preference name="SplashScreenDelay" value="3000" /> 

navigator.splashscreen.hide()也不适用于我。

更新: navigator.splashscreen.hide()只适用于build立在线(phonegap构build)。

升级到PhoneGap Desktop 0.3.6后,我遇到了类似的问题,我的一个旧版本的应用程序被卡在启animation面上。 在configuration窗口中,它显示了正确的应用程序名称和版本,并在修改config.xml时立即更新。 在控制台中,我只有一个错误: 500 http://localhost:3000/cordova_plugins.js

一个新的应用程序工作正常。

我尝试了以上所有:

  • 启animation面插件和configuration
  • cordova.jscordova_plugins.js添加到index.html 。 自从许多版本之前,这不再是必要的 – 构build可以帮你实现。
  • platforms/android/assets/www文件夹中有cordova.jscordova_plugins.js文件
  • config.xml中指定了<content src="index.html" />

到底什么解决了我的问题是彻底删除platforms文件夹并运行cordova platform add android再次cordova platform add android 。 我想在每个Phonegap升级之后这样做是安全的。