通过双击后退按钮关闭应用程序后启动画面不显示
Splash screen does't show after I close the app by double clicking the back button
当我在 Android 上双击后退按钮退出应用程序后重新启动应用程序时,没有启动画面和图标。我使用这条语句退出应用程序:
ionic.Platform.exitApp();
我也试过使用下面的方法,但它并没有解决我的问题。
navigator.app.exitApp();
所以,我不知道如何解决,请帮助我。
添加
<activity android:name="XXXX"
android:excludeFromRecents="true" ...
在您的 AndroidManifest.xml
的 activity 声明中。
摘自@Mannaz 的answer。
此致。
根据 documentations,ionic2 支持的方式是将以下选项添加到 config.xml
:
<preference name="SplashShowOnlyFirstTime" value="true|false" />
但是,从版本 4.0.1
开始,插件中存在错误。当应用程序以编程方式关闭时,下次我们启动应用程序时,如果没有从最近的应用程序中关闭它,应用程序就会崩溃,并显示 app stopped unexpectedly
。下面是ADB的debug log:
12-20 09:35:50.851 30375 30375 E AndroidRuntime: FATAL EXCEPTION: main
12-20 09:35:50.851 30375 30375 E AndroidRuntime: Process: com.mydomain.myapp, PID: 30375
12-20 09:35:50.851 30375 30375 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setAnimation(android.view.animation.Animation)' on a null object reference
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at org.apache.cordova.splashscreen.SplashScreen.run(SplashScreen.java:227)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.app.Activity.runOnUiThread(Activity.java:6050)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at org.apache.cordova.splashscreen.SplashScreen.removeSplashScreen(SplashScreen.java:217)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at org.apache.cordova.splashscreen.SplashScreen.access00(SplashScreen.java:49)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at org.apache.cordova.splashscreen.SplashScreen.run(SplashScreen.java:330)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7325)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
我已经为此打开了一个 issue。
当我在 Android 上双击后退按钮退出应用程序后重新启动应用程序时,没有启动画面和图标。我使用这条语句退出应用程序:
ionic.Platform.exitApp();
我也试过使用下面的方法,但它并没有解决我的问题。
navigator.app.exitApp();
所以,我不知道如何解决,请帮助我。
添加
<activity android:name="XXXX"
android:excludeFromRecents="true" ...
在您的 AndroidManifest.xml
的 activity 声明中。
摘自@Mannaz 的answer。
此致。
根据 documentations,ionic2 支持的方式是将以下选项添加到 config.xml
:
<preference name="SplashShowOnlyFirstTime" value="true|false" />
但是,从版本 4.0.1
开始,插件中存在错误。当应用程序以编程方式关闭时,下次我们启动应用程序时,如果没有从最近的应用程序中关闭它,应用程序就会崩溃,并显示 app stopped unexpectedly
。下面是ADB的debug log:
12-20 09:35:50.851 30375 30375 E AndroidRuntime: FATAL EXCEPTION: main
12-20 09:35:50.851 30375 30375 E AndroidRuntime: Process: com.mydomain.myapp, PID: 30375
12-20 09:35:50.851 30375 30375 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setAnimation(android.view.animation.Animation)' on a null object reference
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at org.apache.cordova.splashscreen.SplashScreen.run(SplashScreen.java:227)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.app.Activity.runOnUiThread(Activity.java:6050)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at org.apache.cordova.splashscreen.SplashScreen.removeSplashScreen(SplashScreen.java:217)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at org.apache.cordova.splashscreen.SplashScreen.access00(SplashScreen.java:49)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at org.apache.cordova.splashscreen.SplashScreen.run(SplashScreen.java:330)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7325)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
12-20 09:35:50.851 30375 30375 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
我已经为此打开了一个 issue。