Search code examples
ioscordovabackgroundsplash-screen

Show splash screen when application enters background


I am writing an application using phonegap for iOS. I am trying to show splash screen when application enters to background.

(void)applicationWillResignActive:(UIApplication *)application [...]

In applicationWillResignActive: I am calling a JavaScript function and using cordova's method cordova.exec(null,null, "SplashScreen, "show", []) to show splash screen. But it seems like, this is not working.

When I resume the app, the application brings the previous state first and then switches to splash screen, but I want to show the splash screen when the app resumes. How can I accomplish that?


Solution

  • Got this working:

    - (void) applicationWillResignActive:(UIApplication *)application {
      //Call to JS to change to splash
     [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.02
    }
    

    Allow the current runloop to run for a brief moment

    For more information on the answer please check the below link:

    The exact moment iOS takes the view snapshot when entering background?