下面,就让我们手把手地教你如果使用WindowsPhone后台代理吧!1.在VisualStudio中,创建一个新的“WindowsPhone应用程序”项目。此模板在“SilverlightforW
下面,就让我们手把手地教你如果使用Windows Phone后台代理吧!
1.在 Visual Studio 中,创建一个新的“Windows Phone 应用程序”项目。此模板在“Silverlight for Windows Phone”类别中。
2.接下来,向解决方案中添加一个计划任务项目。从“文件”菜单中,选择“添加->新项目...”。在“添加新项目”对话框中,选择“Windows Phone 计划任务代理”。保留默认名称 ScheduledTaskAgent1,然后单击“确定”。
3.下一步,在您的前台应用程序项目中,您需要添加对该代理项目的引用。在“解决方案资源管理器”中,单击您的前台应用程序项目以将其选中。接下来,从“项目”菜单中,选择“添加引用...”。在“添加引用”对话框中,选择“属性”标签。选择代理项目 ScheduledTaskAgent1,然后单击“确定”。
4.在“解决方案资源管理器” 中,双击 ScheduledTaskAgent1 项目下的 ScheduledAgent.cs 以打开该文件。您将看到该文件包含单个类 ScheduledAgent 的定义,该类是从基类 ScheduledTaskAgent 继承的。对于此示例,为文件顶部的 Shell 命名空间和 System 命名空间添加一个 using 指令。
5.有一个在 OnInvoke(ScheduledTask) 类中实现的方法。当启动计划任务时操作系统调用该方法。这是您放置在运行后台代理时您希望执行的代码的位置。每个应用程序一次只能注册一个 ScheduledTaskAgent,但您可以作为资源密集型代理和定期代理计划此代理。如果应用程序使用 ResourceIntensiveTask 和 PeriodicTask,则可检查传递给 OnInvoke 方法的 ScheduledTask 对象的类型,以确定代理调用的任务并在必要时确定代码执行的分支。如果您只使用一种类型的代理,则不需要检查 ScheduledTask 对象类型。在此示例中,代理从 OnInvoke 启动 ShellToast 对象,指示代理调用的计划任务类型。此 Toast 将在代理运行时使代理可见。但是,代理在前台应用程序运行时不显示。
完成计划任务代码之后,应该调用 NotifyComplete()()()() 以让操作系统知道您不再需要运行。这样便允许操作系统尝试计划其他代理。
提供了 LaunchForTest(String, TimeSpan) 方法以便您运行代理的频率高于实际设备上运行的计划。此方法仅用于应用程序开发目的。除了在使用开发工具部署的应用程序中之外,此方法不起任何作用。您应该从生产应用程序中删除对此方法的调用。在此示例中,该调用位于 #if 块中,以便您能够在调试和生产功能之间轻松切换。若要启用该调用,请在 ScheduledAgent.cs 文件的顶部放置以下代码行。
本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。