如何在应用程序中启用后台代理来完成一些相关工作?
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 1679
下面,就让我们手把手地教你如果使用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 文件的顶部放置以下代码行。

  

  

 

 本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2