Ios5 Monotouch中的BeginBackgroundTask

Ios5 Monotouch中的BeginBackgroundTask,ios5,xamarin.ios,Ios5,Xamarin.ios,我需要在应用程序进入后台后进行一些处理,因此我将此代码添加到我的应用程序中: public override void DidEnterBackground (UIApplication application) { int taskid = 0; taskid = application.BeginBackgroundTask(() => { if(taskid != 0) { System.IO.File.Writ

我需要在应用程序进入后台后进行一些处理,因此我将此代码添加到我的应用程序中:

public override void DidEnterBackground (UIApplication application)
{
    int taskid = 0;
    taskid = application.BeginBackgroundTask(() => {
        if(taskid != 0)
        {
            System.IO.File.WriteAllText(System.IO.Path.Combine(AppState.Current.User.Path, "blah"), "test");
            application.EndBackgroundTask(taskid);
            taskid = 0;
        }
    });
}

然后我监控了文件系统(emulator应用程序),文件从未写入目标。发生这种情况有什么原因吗?我遗漏了什么吗?

BeginBackgroundTask方法的参数是过期处理程序。它将在后台时间到期之前执行。这就是你应该只结束任务而不做其他事情的地方

在BeginBackgroundTask调用之后,背景时间开始


BeginBackgroundTask方法的参数是过期处理程序。它将在后台时间到期之前执行。这就是你应该只结束任务而不做其他事情的地方

在BeginBackgroundTask调用之后,背景时间开始


谢谢迪米特里斯。今天早些时候我确实看到了你的帖子,我想我没有仔细阅读。奇怪的API。嗨,我是DeadThank Dimitris。今天早些时候我确实看到了你的帖子,我想我没有仔细阅读。奇怪的API。嗨,他死了