通用Metro应用程序和后台任务
本文关键字:后台任务 应用程序 Metro 通用 | 更新日期: 2023-09-27 18:26:35
如何从共享项目中调用代码以在Windows Phone项目的后台运行?
要在WP的后台运行代码,我需要将其提取到一个新项目中,并从我的WP项目中调用该新项目。但要运行代码,我需要:
- 将逻辑提取到后台项目中(但随后我失去了共享项目的优势)
- 重复代码
有没有一种方法可以制作一个在后台执行某些业务逻辑的通用Windows(Phone)应用程序,而不会复制代码或失去共享项目的优势?
编辑:这是当我把它放在一个单独的项目中时调用的代码。当我把它放在WP项目或共享项目中时,它不会被调用。
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using Windows.ApplicationModel.Background;
namespace WindowsPhoneProject
{
public sealed class BackgroundTask : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
taskInstance.GetDeferral().Complete();
}
}
}
此Quickstart将介绍如何为通用应用程序创建后台任务:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977055.aspx
您应该能够在共享项目中创建从IBackgroundTask派生的类。如果你只想在手机上创建后台任务,那么你可以使用这样的编译时指令:
#if WINDOWS_PHONE_APP
// Code Here
#endIf