即使应用程序处于后台运行,MonoTouch也会运行NSTimer

时间:2013-05-08 16:12:25

标签: background xamarin.ios nstimer

在我的应用程序中,即使应用程序进入后台,我也想运行计时器。我想有两种方法可以做到这一点

  1. 使用线程
  2. 捕捉应用进入后台并返回的时间
  3. 我不知道哪条路更好?如果我使用线程,那么它有多长时间了?它在后台工作几个小时吗?

    谢谢

1 个答案:

答案 0 :(得分:0)

如果您的应用程序已进入后台状态,则您没有太多时间停止当前线程。

你可以运行这样的后台任务:

...
public partial class AppDelegate : UIApplicationDelegate
{
    ...
    public override void DidEnterBackground (UIApplication application)
    {
        int taskID = UIApplication.SharedApplication.BeginBackgroundTask ( () => {});
        var task = new Thread (new ThreadStart (() => { 
            // Save application's current state.
        }));
        task.Start ();
    }

因此,您最多可以 10 minutes

然而iOS不允许无限时间运行app。请参阅BackgroundExecution演示以供参考。