7

使用 phonegap 3.1 我试图在设备准备好时隐藏启动屏幕:

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
 navigator.splashscreen.hide();
}

但它返回:

无法调用未定义的方法“隐藏”

navigator 对象不包括 splashscreen 属性。

我已经在 phonegap 2.9 上尝试过,它工作正常。

4

6 回答 6

10

经过研究和实验,这是我们必须做的才能让它发挥作用:

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

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

于 2013-10-24T05:41:18.917 回答
3

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

于 2013-10-23T02:22:05.917 回答
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>
于 2014-01-15T10:50:59.677 回答
0

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

于 2013-10-22T10:57:09.077 回答
0

添加这个:

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

navigator.splashscreen.hide() 对我也不起作用。

更新: navigator.splashscreen.hide() 仅在在线构建时有效(phonegap build)。

于 2014-12-02T12:59:42.907 回答
0

升级到 Phonegap Desktop 0.3.6 后,我遇到了类似的问题,我的一个旧应用程序卡在了初始屏幕上。在配置窗口中,它显示了正确的应用程序名称和版本,并且在我修改 config.xml 时它正在更新。在控制台中我只有一个错误:500对于http://localhost:3000/cordova_plugins.js

一个新的应用程序运行良好。

我尝试了以上所有方法:

  • 闪屏插件和配置
  • cordova.jsand添加cordova_plugins.jsindex.html. 这不再是必要的了,因为很多版本以前 - 构建为您完成。
  • platforms/android/assets/www文件夹中有cordova.jscordova_plugins.js文件存在
  • config.xml有指定<content src="index.html" />

最后解决我的问题是完全删除platforms文件夹并cordova platform add android再次运行。我想在每次 Phonegap 升级后这样做是安全的。

于 2016-08-25T08:52:56.010 回答