在Windows Phone 8.1中继续以最小化状态运行一个函数

本文关键字:运行 函数 一个 状态 最小化 Phone Windows 继续 | 更新日期: 2023-09-27 18:08:47

我有一个createsschedule()函数,当我打开应用程序时执行。

 private async static Task<int> CreateSchedule()
    {
        try
        {
            DateTime now = DateTime.Now;
            DateTime planTill = now.AddMinutes(15);
            do
            {
                await DoSomeWork();
                now = DateTime.Now;
                await Task.Delay(TimeSpan.FromSeconds(5));
            } while (now < planTill);
            return 1;
        }
        catch (Exception ex)
        {
            Debug.WriteLine(ex);
            return 0;
        }
    }

当应用程序处于活动状态或前台状态时,该函数连续运行(我使用do-while循环)。但是当我最小化或按下后退或开始按钮时,这个函数将不再执行。

那么,是否有任何方法可以连续执行该功能,即使应用程序被最小化或按下开始或后退按钮。

我已经尝试使用BackgroundTask,但这似乎只执行0-15分钟从注册的时间,这不是我的要求。

请建议一些,如果有任何线程,我们可以在Windows Phone的后台运行。

提前感谢!

在Windows Phone 8.1中继续以最小化状态运行一个函数

根据设计,您不能在后台运行代码。唯一的选择是BackgroundTask,它有很多限制(必须锁屏,每15分钟一次等)。

所以简短的回答是你不能。

你可以在这里阅读更多关于后台任务的信息