2013-08-16 90 views
1

我想寫一個應用程序來顯示倒數計時器。當我按Home鍵退出應用程序或搜索按鈕時,定時器將停止,直到我回到應用程序。這是我的代碼:Windows Phone:如何讓計時器在退出應用程序後繼續運行?

public Page1() 
{ 
InitializeComponent();  
DispatcherTimer dispatcherTimer = new DispatcherTimer(); 
dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 1, 0); 
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); 
dispatcherTimer.Start(); 
} 

private void dispatcherTimer_Tick(object sender, EventArgs e) 
{ 
    //Till timer is greater than 0 show timer. 
} 

如何使用定時器的方式,它使甚至當我退出該應用程序計數(運行)?

+0

你或許應該讀作[這個問題的答案與(http://stackoverflow.com/questions/13514064/how-to-run-application-in-background-in-windows-phone),這似乎覆蓋方式接近你要求的東西。 – Petesh

回答

0

保存在ApplicationSettings中啓動計時器的時間。當應用程序恢復(激活或重新啓動)時,請檢查時間差異,並從剩餘時間重新啓動計時器,或將計時器顯示爲已停止。

+0

+1。這是做這件事的標準方法。 –

+0

我用這種方法,它的工作原理。我所做的是重寫OnNavigatedto和OnNavigatedFrom。當我退出頁面時,我保存OnnavigatedFrom中的最新值,當我回來時,我將更新時間。當我再次進入時,我將節省時間值我將獲取當前時間和CurrentTime - PreviousTime會給我我不在該頁面中的時間。 –

-3

嵌入了一個窗口服務(windows service timer example)內的WCF或Web API服務,有了這個WCF /網絡API服務,您可以控制的行爲,無需重新啓動該服務。

+0

他將如何使用Windows Phone API完成此操作? – Petesh

+0

通常的方法.. web api是通過url調用,json從web服務中讀取回復,這是Windows Phone應用程序可用的。看看http://www.geekchamp.com/articles/getting-latest-tweets-in-windows-phone-apps-using-twitter-rest-api-and-json-net瞭解一些指針。這是一個「幫助」網站,不一定是「發佈完整答案網站」。 –

+1

@PaulZahra,我認爲Petesh的意思是在Windows Phone中沒有「windows服務」的概念;並不是說沒有Web客戶端。 –

相關問題