Cordova/Phonegap无法在Android上关闭闪屏自动隐藏功能

3
我们正在使用PhoneGap/Cordova 2.4。我们在Android端关闭自动隐藏闪屏屏幕时遇到了问题。我的期望是,直到有一个显式的调用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代码中,我们在setup方法的最后加入了这行代码。然而,正如我所提到的,启动画面早在此时已经隐藏了。而且,当我们把这行代码去掉后,启动画面仍然被隐藏了。以下是代码:

   // 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" />

任何帮助都将是极好的。
提前感谢,
Kevin

你有找到解决办法吗?我在使用PG 3.3时仍然遇到了这个问题。 - Joe's Ideas
在这里遇到了同样的问题。请告诉我们您是否以及如何解决它? - AdityaSaxena
3个回答

2
你可以直接添加 < /p>。
<preference name="SplashScreenDelay" value="100000" />

将以下代码添加到您的config.xml文件中,然后在需要时通过编程方式将其删除。请注意,在您想要删除它时,就像您之前做的那样。

2

只需将闪屏显示时间设置为一个非常大的数字。例如,不要设置为

super.loadUrl(Config.getStartUrl(), 5000);

做:

super.loadUrl(Config.getStartUrl(), 60000); // 60 seconds

无论您在此处放置什么值,只要它足够大,以至于当您的Javascript / CSS / HTML完全加载时,超时尚未发生,这就不重要了。


0

调用必须在设备准备好之后进行

.run(function($ionicPlatform, $cordovaSplashscreen) {
    $ionicPlatform.ready(function() {
        $cordovaSplashscreen.hide();
    })
});

至少这对我来说是有效的。希望对你们也有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接