Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detecting deactivation and app close in Windows Phone 8.1 XAML

For security reasons, I need to log out the users when they exit the app and show login screen when they return back.

In Windows Phone 8 and Windows Phone 8.1 Silverlight there are Application_Deactivated and Application_Closing methods on the App class (or methods OnClose, OnDeactivate to override in Caliburn.Micro).

The only interesting events seems to be Suspend and Resume, but they do not called when I exit the app using the Start button and get back using the Back button or launching the app from the list.

What are the alternatives for Windows Phone 8.1 XAML?

(Setting ActivationPolicy="Replace" would solve half of the problem but I guess this is not possible, when WMAppManifest.xml is not event a part of a Windows Phone 8.1 XAML project).

like image 504
Igor Kulman Avatar asked Jun 16 '14 17:06

Igor Kulman


1 Answers

The Suspending event will be called just after you navigate away from the app, but not in debug mode. I've build a simple app modyfing LocalSettings upon Suspending event and then acquiring information when Resuming.

You are probably aware, but for the sake of completeness of the answer - some remarks:

  • before Suspending event, the OnNavigatedFrom event is being called, but when you Resume, the OnNavigatedTo is not called - reference:

    Note On Windows Phone, OnNavigatedFrom() is called when the app is suspended. OnNavigatedTo() is not called when the app is resumed.

  • to test Suspending/Resuming with debugger, use Lifecycle events in Debug location tab - more info

  • reference to Application lifecycle in Windows Runtime apps

like image 116
Romasz Avatar answered Oct 24 '22 09:10

Romasz