title: Windows Store App launch
body: <p>I'm having issues with my Windows Store App launch. When I use the "close app gesture" (slide the app from top to bottom) and then launch the app again very fast, sometimes a blank black screen appears and when I click on it, it, the Start menu appears, and a "MoAppHang" event is logged.</p>
  
  <p>My App_Launched event code is here:</p>
  
  <pre><code>       protected override async void OnLaunched(LaunchActivatedEventArgs args)
      {
          if (args.PreviousExecutionState == ApplicationExecutionState.Terminated )
          {
              // Restore the saved session state only when appropriate
              await SuspensionManager.RestoreAsync();                
          }
  
  
          // Do not repeat app initialization when already running, just ensure that
          // the window is active
          if (args.PreviousExecutionState == ApplicationExecutionState.Running)
          {
              if (!string.IsNullOrEmpty(args.Arguments))
              {
                  Frame f = Window.Current.Content as Frame;
                  if (f != null)
                  {
                      UseSecondaryTileNavigation(f, args.Arguments);
                  }
              }
              Window.Current.Activate();
              return;
          }
  
          Frame rootFrame;
          if (Window.Current.Content == null)
          {
  
              // Create a Frame to act as the navigation context and associate it with
              // a SuspensionManager key
              rootFrame = new Frame();
              SuspensionManager.RegisterFrame(rootFrame, "AppFrame");
          }
          else
          {
              rootFrame = (Frame)Window.Current.Content;
          }
  
          if (!await DatabaseHelper.ExistsDatabase())
          {
              await DatabaseHelper.CreateDatabase();
          }
  
          if (rootFrame.Content == null)
          {
              // When the navigation stack isn't restored navigate to the first page,
              // configuring the new page by passing required information as a navigation
              // parameter
              if (!rootFrame.Navigate(typeof(ItemsPage), "AllGroups"))
              {
                  throw new Exception("Failed to create initial page");
              }
          }
  
          if (!string.IsNullOrEmpty(args.Arguments))
          {
              UseSecondaryTileNavigation(rootFrame, args.Arguments);
          }
  
          // Place the frame in the current Window and ensure that it is active
          if (Window.Current.Content == null)
          {
              Window.Current.Content = rootFrame;
          }
          Window.Current.Activate();
  </code></pre>
  
  <p>The UseSecondaryTileNavigation performs navigation when user opens the app using secondary tile (it basically uses the Frame parameter and Navigates it to the correct location using Frame.Navigate).</p>
  
  <p>Where am I going wrong?</p>
  
  <p>Thank you all!</p>