2013-09-23 124 views
1

我有調度計時器的應用程序。用戶設置一些間隔(例如30秒)並按下按鈕啓動。應用程序每30秒播放聲音。一切正常。但是,當用戶鎖定電話計時器停止並沒有播放。手機鎖定時,我能每30秒播放一次聲音嗎?鎖定屏幕下的WP8計時器應用程序

+0

是當然。 您是否知道在Windows Phone中使用ScheduledTaskAgent? –

+0

我會發布答案請參考。 –

回答

5

可以讓應用程序在鎖定屏幕下運行。

使用Idle Detection,即使屏幕已鎖定,您仍可以打開應用程序。實際上,它並不是在後臺運行,而是在前臺運行。只是屏幕被鎖定。所以,請注意不要流失用戶的電池。

你必須在PhoneApplicationService.ApplicationIdleDetectionMode屬性設置爲Disabled,例如在InitializePhoneApplication()方法App.xaml.cs

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; 

注意,有這種類型的應用程序的特殊認證要求。請參閱下頁的6.3節(應用程序運行在鎖定屏幕下):

Additional requirements for specific app types for Windows Phone

1

是的。 當然.. 您可以使用Windows Phone中的計劃任務代理。

使用計劃任務代理,當你的應用程序沒有運行或停止(不在後臺)。 你可以開啓你的活動。

爲此,您必須將計劃任務代理添加到您的項目中。 並在ScheduledAgent.cs文件中找到OnInvoke方法並將您的代碼放在此處。 此方法在後臺執行任務。 (意味着您的手機被鎖定時執行該代碼)。

更多參考,請點擊這裏Implement background agents for Windows Phone

我希望得到您的目的地。現在,只需將該代碼放入應用程序及其工作。

+0

謝謝。在OnInvoke中,我必須創建新的定時器並設置播放聲音的時間間隔? –

+0

是的。只有當手機被鎖定時才能創建新的計時器(意味着在後臺)。它不會影響當前項目的計時器和間隔。 –

+1

週期性任務的問題是每30分鐘執行一次,他將無法設置所需的時間間隔。 – anderZubi

相關問題