diff --git a/src/wp/PowerManagement.cs b/src/wp/PowerManagement.cs
index 2ca0cd0..0b479c6 100644
--- a/src/wp/PowerManagement.cs
+++ b/src/wp/PowerManagement.cs
@@ -30,13 +30,32 @@ namespace Cordova.Extension.Commands
{
class PowerManagement : BaseCommand
{
+ ///
+ /// acquires the stay awake lock by disabling UserIdleDetection mode and optionally disable the ApplicationIdleDetection
+ ///
+ /// acquire options
+ /// exec(win, fail, 'PowerManagement', 'acquire', [runLockScreen]);
public void acquire(string options) {
+ string[] optionStrings = JsonHelper.Deserialize(options);
+ bool runLockScreen = false;
+ bool.TryParse(optionStrings[0], out runLockScreen);
+
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
- PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
+
+ // check if we should continue running within the lock screen
+ if (runLockScreen)
+ {
+ PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
+ }
DispatchCommandResult();
}
+ ///
+ /// releases the stay awake lock
+ ///
+ /// release options
+ /// exec(win, fail, 'PowerManagement', 'release', []);
public void release(string options)
{
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Enabled;