Yes, it is possible. You can use PhoneApplicationService.Current.UserIdleDetectionMode
to stop the screen backlight timing out and stop the screen from locking.
You can also use PhoneApplicationService.Current.ApplicationIdleDetectionMode
to allow the application to keep running under a lock screen.
Here's some more detail on those two options:
UserIdleDetectionMode
Disabling this will stop the screen from timing out and locking. As an example, I disable UserIdleDetectionMode while downloading a large file, so the app doesn't kill the download half-way.
When the download is completed, I re-enable UserIdleDetectionMode so the screen can timeout as usual.
ApplicationIdleDetectionMode
NB: This is a one-time hit. You can disable it, but you cannot re-enable it.
If you disable ApplicationIdleDetectionMode, your app will continue to run when the screen locks. Your app will still die if the user starts a different app.
The certification requirements ask that you prompt the user the first time you disable ApplicationIdleDetectionMode. E.g. "This app will continue to run under a locked screen, and may drain your battery. Are you ok with that?" If you don't your app will be rejected.
ApplicationIdleDetectionMode
have changed (in v1.4 of the doc). You must now minimize power usage when running under a lock screen. – Profuse