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;