如何避免phonegap中的黑屏

Posted

技术标签:

【中文标题】如何避免phonegap中的黑屏【英文标题】:how to avoid black screen in phonegap 【发布时间】:2017-01-31 05:27:47 【问题描述】:

如何在 phone-gap 应用程序中删除黑屏和标题。当我进入应用程序时,我得到黑屏和项目标题,然后我得到启动屏幕。请帮助如何避免这种情况。

<widget id="io.phongap.hello" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
<name>phonegapproject</name>
<description>
    Hello World sample application that responds to the deviceready event.
</description>
<author email="support@phonegap.com" href="http://phonegap.com">
    PhoneGap Team
</author>
<content src="index.html" />
<preference name="DisallowOverscroll" value="true" />
<preference name="android-minSdkVersion" value="14" />
<plugin name="cordova-plugin-battery-status" source="npm" spec="~1.1.1" />
<plugin name="cordova-plugin-camera" source="npm" spec="~2.1.1" />
<plugin name="cordova-plugin-media-capture" source="npm" spec="~1.2.0" />
<plugin name="cordova-plugin-console" source="npm" spec="~1.0.2" />
<plugin name="cordova-plugin-contacts" source="npm" spec="~2.0.1" />
<plugin name="cordova-plugin-device" source="npm" spec="~1.1.1" />
<plugin name="cordova-plugin-device-motion" source="npm" spec="~1.2.0" />
<plugin name="cordova-plugin-device-orientation" source="npm" spec="~1.0.2" />
<plugin name="cordova-plugin-dialogs" source="npm" spec="~1.2.0" />
<plugin name="cordova-plugin-file" source="npm" spec="~4.1.1" />
<plugin name="cordova-plugin-file-transfer" source="npm" spec="~1.5.0" />
<plugin name="cordova-plugin-geolocation" source="npm" spec="~2.1.0" />
<plugin name="cordova-plugin-globalization" source="npm" spec="~1.0.3" />
<plugin name="cordova-plugin-inappbrowser" source="npm" spec="~1.3.0" />
<plugin name="cordova-plugin-media" source="npm" spec="~2.2.0" />
<plugin name="cordova-plugin-network-information" source="npm" spec="~1.2.0" />
<plugin name="cordova-plugin-splashscreen" spec="~4.0.1" />
<plugin name="cordova-plugin-statusbar" source="npm" spec="~2.1.2" />
<plugin name="cordova-plugin-vibration" source="npm" spec="~2.1.0" />
<plugin name="cordova-plugin-whitelist" source="npm" spec="~1.2.1" />
<platform name="android">
     <allow-intent href="market:*" />
    <icon density="ldpi" src="www/res/icon/android/drawable-ldpi-icon.png" />
    <icon density="mdpi" src="www/res/icon/android/drawable-mdpi-icon.png" />
    <icon density="hdpi" src="www/res/icon/android/drawable-hdpi-icon.png" />
    <icon density="xhdpi" src="www/res/icon/android/drawable-xhdpi-icon.png" />
    <icon density="xxhdpi" src="www/res/icon/android/drawable-xxhdpi-icon.png" />
    <icon density="xxxhdpi" src="www/res/icon/android/drawable-xxxhdpi-icon.png" />
    <splash src="www/res/screen/android/drawable-port-hdpi-screen.png"/>
</platform>

<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">

</platform>
<platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
</platform>

<feature name="SplashScreen" >
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />

<param name="onload" value="true" />

**<preference name="SplashScreenDelay" value="5000" /> 
<preference name="AutoHideSplashScreen" value="true" />
<preference name="FadeSplashScreenDuration" value="750"/>
<preference name="ShowSplashScreenSpinner" value="false"/>**

这是我得到的默认屏幕,之后它是斜线屏幕我如何解决这个问题 闪屏 [在此处输入图片描述][2]

enter image description here

【问题讨论】:

【参考方案1】:

更改您的 config.xml,如下所示:

<widget xmlns = "http://www.w3.org/ns/widgets" 
    xmlns:gap = "http://phonegap.com/ns/1.0"
xmlns:android = "http://schemas.android.com/apk/res/android"

    id        = "com.domain.app"
    version   = "1.0.0">

    ...

    <gap:config-file platform="android" parent="/manifest">
        <supports-screens 
            android:xlargeScreens="true" 
            android:largeScreens="true" 
            android:smallScreens="true" />
        <application android:theme="@android:style/Theme.NoTitleBar" >
            <activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
            </activity>
        </application>
    </gap:config-file>
</widget>

对于Blank Screen,这是Android的中间屏幕 在您的进程被分叉时显示。黑屏只是 您的主题定义的窗口背景。有一个很棒的 Android 开发专家 Cyril Mottier 撰写的文章 here 话题。您可以自定义它以使其看起来更好,如中所述 文章(基本上只是改变你的窗口背景,但要小心 透支)

【讨论】:

您好 akshay tilekar thk 您的宝贵回复,这个项目是 phonegap 项目,而不是在 android 项目中您基于 android 项目的配置,所以请为 phonegap 提供解决方案。我正在使用 build for adope phonegap。 @sriram phonegap 中也有配置文件 试试看这个docs.phonegap.com/en/4.0.0/config_ref_index.md.html @sriram 也看到这个***.com/questions/41950261/… 嗨 akshay tilekar 当我实现你的代码时,它的标题栏被删除了,但是黑屏又来了,所以请给我一些建议。谢谢你的回复..

以上是关于如何避免phonegap中的黑屏的主要内容,如果未能解决你的问题,请参考以下文章

使用 Phonegap/WebWorks 的黑莓中线程过多

phonegap黑屏ios

sencha touch :: 如何避免iOS应用程序变慢(在phonegap内)

Cordova/Phonegap Android Parse Push Notification 未恢复应用程序

启动画面后黑屏

避免Phonegap应用程序中Vuex和IAP插件之间的冲突