我们正在使用PhoneGap / Cordova 2.4。我们无法关闭 在Android端自动隐藏启动画面。我的期望 是那个闪屏不会隐藏,直到有一个 explictit调用navigator.splashscreen.hide()。但对于我们的应用程序, 闪屏更快被隐藏起来。这向用户显示了HTML 页面尚未准备好与之互动。
根据Cordova文档,我们更新了我们的Java代码,看起来像这样
import android.os.Bundle;
import org.apache.cordova.*;
public class MyApp extends DroidGap
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl(Config.getStartUrl(), 5000);
}
}
在这个Javascript代码中,我们在安装方法结束时有这个。但是,作为 我提到过,启动画面隐藏得更早。而且,当我们采取 这一行,闪屏仍然是隐藏的。这是代码:
// tons of setup code ...
Backbone.history.start()
Backbone.trigger('app:ready')
navigator.splashscreen.hide()
我们还将这两个选项添加到www / config.xml中。我应该注意,AutoHideSplashScreen适用于iOs应用程序,但似乎对Android应用程序没有任何影响。我从一个例子中找到的另一个选项,因为我过去几天疯狂地在互联网上寻找解决这个问题的方法。
<preference name="AutoHideSplashScreen" value="false" />
<preference name="auto-hide-splash-screen" value="false" />
任何帮助都会很棒。
提前致谢,
凯文
答案 0 :(得分:2)
只需为启动画面显示时间设置一个非常大的数字。例如。而不是
super.loadUrl(Config.getStartUrl(), 5000);
做的:
super.loadUrl(Config.getStartUrl(), 60000); // 60 seconds
你放在这里的价值并不重要,只要它足够大,当你的Javascript / CSS / HTML完全加载时,暂停还没有发生。
答案 1 :(得分:2)
您只需添加
即可<preference name="SplashScreenDelay" value="100000" />
到你的config.xml然后稍后按照你想要的那样以编程方式删除它。
答案 2 :(得分:0)
必须在设备准备
之后进行呼叫.run(function($ionicPlatform, $cordovaSplashscreen) {
$ionicPlatform.ready(function() {
$cordovaSplashscreen.hide();
})
});
至少这对我有用。希望它也适合你们。