科尔多瓦/ Phonegap无法关闭Android上的自动隐藏启动屏幕

问题描述:

我们使用PhoneGap/Cordova 2.4。我们无法关闭Android侧的启动画面的自动隐藏功能 。我的期望 是,直到有navigator.splashscreen.hide()的 explictit调用才会隐藏启动画面。然而,对于我们的应用程序, 启动画面更早被隐藏。这向用户显示尚未准备好与之交互的HTML页面 。科尔多瓦/ Phonegap无法关闭Android上的自动隐藏启动屏幕

每科尔多瓦文档,我们更新了我们的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

你有没有找到解决办法呢?我仍然遇到与PG 3.3 – 2014-02-23 21:28:42

+0

在这里同样的问题挣扎的这个问题。请让我们知道您是否以及如何设法解决它? – AdityaSaxena 2014-09-27 07:03:52

只需设置为开机画面显示时间很大数字。例如。而不是

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

做:

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

这真的不要紧,珍惜你把这里的,只要它足够大,当你的JavaScript/CSS/HTML满载,超时尚未发生。

你可以只添加

<preference name="SplashScreenDelay" value="100000" /> 

您的config.xml后来只是将其删除编程就像你当你想要完成的。

呼叫后,必须deviceready

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

至少,这对我的作品进行。希望它也适用于你们。