使用phonegap 3.1我正试图在设备准备好时隐藏启动画面:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.splashscreen.hide();
}
但它返回:
无法调用未定义的方法'hide'
导航器对象不包含splashscreen属性。
我已经在phonegap 2.9上试过了,它运行正常。
答案 0 :(得分:10)
经过研究和实验,我们必须做的就是让它发挥作用:
cordova plugin add org.apache.cordova.splashscreen
cordova build
然后,cordova构建在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
方法。
答案 1 :(得分:3)
您是否使用CLI添加SplashScreen plugin?您必须使用$ cordova plugin add org.apache.cordova.splashscreen
添加插件(将插件代码从plugins.cordova.io复制到/yourApp/plugins/org.apache.cordova.splashscreen/,然后再复制cordova build
以复制插件代码进入适当的平台位置。
答案 2 :(得分:1)
如果您正在使用phonegap构建,而不是
cordova plugin add ...
从命令行,您需要将插件和功能添加到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>
答案 3 :(得分:0)
我唯一可以猜到的是仔细检查你的HTML头部是否<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
正在调用JS。对不起,还没有搞砸3.1。
答案 4 :(得分:0)
添加:
<preference name="SplashScreen" value="splash.png" />
<preference name="SplashScreenDelay" value="3000" />
navigator.splashscreen.hide()对我来说也不起作用。
更新: navigator.splashscreen.hide()仅适用于在线构建(phonegap build)。
答案 5 :(得分:0)
升级到Phonegap Desktop 0.3.6后,我遇到了类似的问题,我的一个旧应用程序停留在启动画面上。在配置窗口中,它显示了正确的应用程序名称和版本,并在我修改config.xml时立即更新。在控制台中,我只有一个错误:500
http://localhost:3000/cordova_plugins.js
新的应用程序正常运行。
我尝试了以上所有内容:
cordova.js
和cordova_plugins.js
添加到index.html
。这是不再需要的,因为许多版本之前 - 构建为你做了。platforms/android/assets/www
文件夹中有cordova.js
和cordova_plugins.js
个文件存在config.xml
中指定了<content src="index.html" />
最终解决我问题的是彻底删除platforms
文件夹并再次运行cordova platform add android
。我想在每次Phonegap升级后这样做是安全的。