2013-08-16 139 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客户端。 –

相关问题