Splash Screen没有出现在android中

时间:2013-12-05 06:13:06

标签: cordova splash-screen

我正在使用Phonegap 2.9开发应用程序。我已经编写了启动画面的代码,它在模拟器中工作正常,但启动画面不在Android设备中。我在网上搜索并实现了他们提到的相同的东西,但我的应用程序仍未显示启动画面。那么,我无法找出究竟是什么问题?

我编写了 config.xml ,其代码如下: -

<content src="index.html" />
<preference name="loglevel" value="DEBUG" />
<preference name="splash-screen-duration" value="5000" />

<feature name="App">
<param name="android-package" value="org.apache.cordova.App"/>
</feature>
<feature name="Geolocation">
<param name="android-package" value="org.apache.cordova.GeoBroker"/>
</feature>
<feature name="Device">
<param name="android-package" value="org.apache.cordova.Device"/>
</feature>
<feature name="Accelerometer">
<param name="android-package" value="org.apache.cordova.AccelListener"/>
</feature>
<feature name="Compass">
<param name="android-package" value="org.apache.cordova.CompassListener"/>
</feature>
<feature name="Media">
<param name="android-package" value="org.apache.cordova.AudioHandler"/>
</feature>
<feature name="Camera">
<param name="android-package" value="org.apache.cordova.CameraLauncher"/>
</feature>
<feature name="Contacts">
<param name="android-package" value="org.apache.cordova.ContactManager"/>
</feature>
<feature name="File">
<param name="android-package" value="org.apache.cordova.FileUtils"/>
</feature>
<feature name="NetworkStatus">
<param name="android-package" value="org.apache.cordova.NetworkManager"/>
</feature>
<feature name="Notification">
<param name="android-package" value="org.apache.cordova.Notification"/>
</feature>
<feature name="Storage">
<param name="android-package" value="org.apache.cordova.Storage"/>
</feature>
<feature name="FileTransfer">
<param name="android-package" value="org.apache.cordova.FileTransfer"/>
</feature>
<feature name="Capture">
<param name="android-package" value="org.apache.cordova.Capture"/>
</feature>
<feature name="Battery">
<param name="android-package" value="org.apache.cordova.BatteryListener"/>
</feature>
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.SplashScreen"/>
</feature>
<feature name="Echo">
<param name="android-package" value="org.apache.cordova.Echo"/>
</feature>
<feature name="Globalization">
<param name="android-package" value="org.apache.cordova.Globalization"/>
</feature>
<feature name="InAppBrowser">
<param name="android-package" value="org.apache.cordova.InAppBrowser"/>
</feature>
<plugins>
<plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>        
</plugins>

以下代码写在 index.html 上: -

function onLoad()
{
document.addEventListener("deviceready", onDeviceReady, false);
}        
// device APIs are available
function onDeviceReady()
{
navigator.splashscreen.show();
}

以下是我的 activity.java 文件的代码: -

package in.com.testpro;
import android.os.Bundle;
import org.apache.cordova.*;
public class MyPhoneGapActivity extends DroidGap 
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl("file:///android_asset/www/index.html", 5000);
}
}

有人可以指导我如何解决这个问题吗?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

请参阅最新版本和在线手册: http://docs.phonegap.com/en/3.3.0/config_ref_images.md.html#Icons%20and%20Splash%20Screens

最好从HelloWorld示例开始,然后从那里开始:

public class HelloWorld extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        // Set by <content src="index.html" /> in config.xml
        super.loadUrl(Config.getStartUrl());
    }
}

您的config.xml中需要以下内容(在www /或res / xml中):

<preference name="splashScreen" value="splash" />
<preference name="SplashScreenDelay" value="4000" />

这应该是你所需要的。 显然,根据手册,图片必须位于正确的位置... 在onDeviceReady()函数中隐藏启动画面是一种很好的做法 - 我想你不想显示它...

希望有所帮助, 干杯克里斯