首先,让我说我已经完成了我的研究。我花了大约一天半的时间观看视频、阅读 MSDN、测试和实验。我还没有解决这个问题。尽管我进行了所有研究,但这将是一个相当广泛的问题,所以我为此道歉。这可能部分是由于 Windows Phone 8.1 的新颖性。
我的目标是int
每小时增加一次,即使应用程序没有运行。显然,最好的方法是通过 aTimeTrigger
和BackgroundTask
。我已经创建了在我的解决方案中Windows Runtime Component
调用的单独项目 ( ) BackgroundTaskProject
。我将其类重命名为BackgroundTaskClass
. 我BackgroundTaskProject
从我的主要项目中引用。
在BackgroundTaskClass
,我实现IBackgroundTask
了它的Run
方法。 问题 1:如果我要做的只是在我的主项目中增加一个值,那么这里的方法有什么用吗?如果是这样,是什么?
我已将我的RegisterBackgroundTask
方法从 MSDN 复制并粘贴到BackgroundTaskClass
.
在我的主项目中,我创建了我的TimeTrigger
. 我BackgroundTask
通过. static RegisterBackgroundTask
_ 由于/方法BackgroundTaskClass
,我进行了更改,以便将其BackgroundTask
分配给类型的变量。Task<BackgroundTaskRegistration>
await
async
终极问题:我在哪里说myInt++
让它每小时运行一次?(myInt
在我的主要项目中。)
我可以根据要求提供特定的代码或回答问题,但这里有一些您可能需要的:
在主要项目/课程中:
TimeTrigger hourlyTrigger = new TimeTrigger(60, false);
Task<BackgroundTaskRegistration> task = BackgroundTaskProject.BackgroundTaskClass.RegisterBackgroundTask("BackgroundTaskProject.BackgroundTaskClass", "Number Incrementer", hourlyTrigger, null);
在BackgroundTaskClass
:
Copy and pasted from MSDN (http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977055.aspx and http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj553413.aspx)