0

我开发了一个 Windows 8 应用程序,它使用后台任务来检索数据并激活动态磁贴功能。一切正常,但我需要转到应用程序设置并手动打开它才能使其正常工作。是否可以以编程方式请求用户激活?这是我的代码:

private void checkTaskRegistration()
        {
            bool isTaskRegistered = false;

            foreach (var task in BackgroundTaskRegistration.AllTasks)
            {
                if (task.Value.Name == "TileUpdater")
                {
                    isTaskRegistered = true;
                    break;
                }
            }

            if (!isTaskRegistered)
            {
                registerBackgroundTask("TileUpdater", "BackgroundTasks.TileUpdaterBackgroundTask");
            }
        }

        private void registerBackgroundTask(string name, string entrypoint)
        {
            BackgroundTaskBuilder btb = new BackgroundTaskBuilder();
            btb.Name = name;
            btb.TaskEntryPoint = entrypoint;
            btb.SetTrigger(new TimeTrigger(15, false));
            btb.AddCondition(new SystemCondition(SystemConditionType.InternetAvailable));
            BackgroundTaskRegistration task = btb.Register();
        }

首先我检查任务是否已经注册,如果不是我注册它。

4

1 回答 1

1

我找到了。你只需要打电话:

BackgroundExecutionManager.RequestAccessAsync();

就是这样。

于 2013-04-13T16:21:23.837 回答