Toran Billups
Toran Billups

Reputation: 27399

The equivalent to onResume() in Windows Phone 7

I'm looking for some app life cycle help from the wp7 experts. My app has a refresh step in a specific page but I only want to launch this when the user brings the app to life from the background.

Note- The life cycle step I'm looking for isn't called when the page is init() only when I'm navigated (back) to or the user has taken a phone call and then re-opens the app (keeping the same page open)

Thank you in advance

Upvotes: 3

Views: 1431

Answers (1)

user60456
user60456

Reputation:

what you are looking for is called Tombstoning and you can find a great article at http://wildermuth.com/2010/10/17/Architecting_WP7_-_Part_5_of_10_Tombstoning

The events are:

  • Launching (opened from tile)
  • Deactivated (user takes a call or something)
  • Activated (back from the call)
  • Closing (Leaves you app via the "Back" button)

You are looking for the Activated event. These are in your App.xaml.cs/vb file. Hook into the event, and update your data model. When your page is bound to that model it will get the data.

If you are not using MVVM, and can't really refresh from that event, you can do it using the PhoneApplicationService.Current.StartupMode property. It has two options Activate (what you are looking for) and Launch (loaded fresh from the tile). It would look something like

Init()
{
    if (PhoneApplicationService.Current.StartupMode ==  StartupMode.Activate)
    {
          Refresh()
    }
}

Upvotes: 3

Related Questions