Android 启动屏幕在PhoneGap构建中不工作

Android 启动屏幕在PhoneGap构建中不工作,android,ios,splash-screen,phonegap-build,Android,Ios,Splash Screen,Phonegap Build,无论是在安卓系统还是iOS系统中,我都无法让闪屏工作 我使用的是PhoneGap构建,我已经像这样设置了config.xml,它现在适用于v3.0.0 <?xml version="1.0" encoding="UTF-8" ?> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/3.0.0" id = "myid" vers

无论是在安卓系统还是iOS系统中,我都无法让闪屏工作

我使用的是PhoneGap构建,我已经像这样设置了config.xml,它现在适用于v3.0.0

<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns = "http://www.w3.org/ns/widgets"
    xmlns:gap = "http://phonegap.com/ns/3.0.0"
    id        = "myid"
    version   = "1.0.0">


<name>myname</name>

<description>
    mydesc
</description>

<author>
</author>

<preference name="permissions" value="none"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="android-minSdkVersion" value="14" />       <!-- JB 4.0 -->
<preference name="fullscreen" value="true" />

<icon src="icon.png" />
<gap:platform name="ios" />
<gap:platform name="android" />
<gap:splash src="splash.png" gap:platform="ios" width="320" height="480" />
<gap:splash src="splash.png" gap:platform="android" width="320" height="480" />

</widget>

我的名字
mydesc
我已经把个人信息拿出来了

除此之外,该应用程序运行良好,但我从来没有启动过屏幕,即使是在PhoneGap 2.7.0和2.9.0以及Android上

splash.png和icon.png此时实际上是同一个图像。不过我试过不同的。我最近才开始在iOS上进行测试,PhoneGap构建默认图标似乎只在iOS上出现。我决定需要设置一个自定义启动屏幕


我找不到您在何处或如何使用标记的示例,除了官方文档,即使在那里,它们也显示了一个示例config.xml和标记,但它们没有说明将它们放置在何处或是否有任何其他规则。

根据您在问题下方的评论,我推荐以下内容

  • 创建一个小的黑色正方形,并将图像另存为splash.png
  • 将splash.png放在根文件夹中(与index.html的位置相同)
  • 在config.xml中使用此选项

  • 您现在将拥有一个纯黑的启动屏幕,看起来就像没有启动屏幕一样。

    对于iOS

    您需要将闪屏图像复制到平台目录中,它们不会自动从
    www/res/
    复制

    对于iOS,这将是:

    platform/ios/[项目名称]/splash/

    这些应该是PhoenGap默认的splashscreens

    适用于Android

    这方面的文档似乎有点缺乏。但您需要在
    平台/android/res
    文件夹中创建相关文件夹。这些应该是:

    • 平台/android/res/可绘制陆地hdpi
    • 平台/android/res/drawable land ldpi
    • 平台/android/res/drawable land mdpi
    • 平台/android/res/drawable land xhdpi
    • 平台/安卓/分辨率/可绘制土地xxhdpi
    • 平台/android/res/drawable端口hdpi
    • 平台/android/res/drawable端口ldpi
    • 平台/android/res/drawable端口mdpi
    • 平台/android/res/drawable端口xhdpi
    • 平台/android/res/drawable端口xxhdpi
    在这些文件夹中,您需要上传您的启动屏幕,请确保它名为splash.png,否则应用程序将无法获取它

    最后也是重要的一步,您需要将以下行添加到主活动文件中,这可以在您的android项目文件夹中找到,并将与您的应用程序同名。该文件扩展了Cordova默认活动文件,该文件解释了如何扩展和添加初始屏幕。该文件将是:

    platforms/android/src/com/[你的应用程序名]/[你的应用程序名].java

    它应该是这样的:

    package com.your.project;
    
    import android.os.Bundle;
    import org.apache.cordova.*;
    
    public class YourProject 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());
            //super.loadUrl("file:///android_asset/www/index.html")
        }
    }
    

    这里有官方文档,但它似乎没有涵盖所有必要的步骤。

    所以这个问题现在似乎已经解决了

    从我最初的问题可以看出,我的配置编码是错误的。PGB版本选择代码不应为“xmlns:gap=”“,而应为:

    
    
    我确实有点责怪PGB,因为文档不清楚(尽管它们正在改进)

    无论如何-


    我现在使用的是PGB 3.3.0,看起来一切正常。

    这是上帝告诉你闪屏是邪恶的方式。我很高兴不使用闪屏,但Phone Gap Build有一个我不想要的默认映像。到目前为止,黑屏还没有成功,你运气好吗?Phone Gap Build技术支持正在研究它。如果/当我得到答案时我会在这里发布。看我的,它适用于cordova 4.0.0 Android三星S6 Edge。我会尝试一下,但鉴于目前为止没有任何图像有效,我不明白为什么应该这样做。我知道我的评论对你没有多大用处,但我知道我也有完全相同的问题。我通过build.phonegap.com构建我的应用程序,我的config.xml似乎还可以,但是,什么时候我的应用程序启动后,会出现几秒钟的黑屏,然后我的应用程序启动…如果我找到解决方案,我会让你知道。谢谢Sephy。我想我将删除我的应用程序,然后重新构建它。这是针对Phonegap的。我正在使用Phonegap构建。这是config.xml文件的问题。CordovaActivity中的setIntegerProperty函数将被删除ecated于2013年7月在3.0中发布。那么我们如何使用它。请更新您的答案,这样链接就可以点击了。谢谢!
    package com.your.project;
    
    import android.os.Bundle;
    import org.apache.cordova.*;
    
    public class YourProject extends CordovaActivity 
    {
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            super.init();
            // Set by <content src="index.html" /> in config.xml
            super.setIntegerProperty("splashscreen", R.drawable.splash);
            super.loadUrl(Config.getStartUrl());
            //super.loadUrl("file:///android_asset/www/index.html")
        }
    }
    
    super.setIntegerProperty("splashscreen", R.drawable.splash);
    
    <preference name="phonegap-version" value="3.0.0" />