SystemTriggerType SmsReceived 任务在 windows phone 8.1 通用应用程序中不起作用
Posted
技术标签:
【中文标题】SystemTriggerType SmsReceived 任务在 windows phone 8.1 通用应用程序中不起作用【英文标题】:SystemTriggerType SmsReceived Task is not working in windows phone 8.1 universal app 【发布时间】:2014-08-18 08:17:37 【问题描述】:我创建了一个简单的任务,当在 windows phone 8.1 通用应用程序中收到短信但它不起作用时触发?还有其他人有同样的问题吗?这是我的代码。
await BackgroundExecutionManager.RequestAccessAsync();
BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();
taskBuilder.Name = "SMSTask";
//GattDeviceService.FromIdAsync();
//GattCharacteristicNotificationTrigger trigger = new GattCharacteristicNotificationTrigger(GattCharacteristic);
SystemTrigger systemTrigger1 = new SystemTrigger(SystemTriggerType.TimeZoneChange, false);
BackgroundTaskBuilder taskBuilder1 = new BackgroundTaskBuilder();
taskBuilder1.Name = "TestTask";
taskBuilder1.SetTrigger(systemTrigger1);
taskBuilder1.TaskEntryPoint = typeof(TestTask.TestTask).FullName;
taskBuilder1.Register();
SystemTrigger systemTrigger = new SystemTrigger(SystemTriggerType.SmsReceived, false);
taskBuilder.SetTrigger(systemTrigger);
taskBuilder.TaskEntryPoint = typeof(SMSTask.SMSTask).FullName;
taskBuilder.Register();
lblMessage.Text = "both task registered";
在上面的代码中,有 2 个任务,一个用于时区,它工作正常,另一个用于接收短信,当我在移动设备中接收短信时它不起作用
【问题讨论】:
【参考方案1】:根据这个 Windows 开发中心论坛帖子 http://social.msdn.microsoft.com/Forums/windowsapps/en-US/5c8836cf-4acd-479a-9847-f60b4be7e146/background-task-systemtriggertypesmsreceived-wont-triggered?forum=wpdevelop,看来这个触发器只会在 Windows Phone 8.1 上为移动运营商应用程序触发(我猜这些会被操作系统以某种方式列入白名单,不确定) .
另请参阅Background task SystemTriggerType.SmsReceived won't triggered 中提出的这个问题,该问题是在 Windows Phone 8.1 的文档不是最终版本时提出的。此限制的文档似乎仍然没有明确说明。如果有人知道为 MSDN 文档提交此反馈的最佳方式,我建议您这样做。
【讨论】:
看起来提交反馈的一种方式是对“此页面有帮助吗?”说“不”。然后要求 cmets。然而,这似乎有点极端,因为您可能会发现 MSDN 页面很有用,但可能会有反馈来改进它。此外,您似乎每页只能提交一次反馈(对于给定的登录)。我已经在msdn.microsoft.com/en-us/library/windows/apps/xaml/… 提交了 SMSReceived 支持清晰反馈。以上是关于SystemTriggerType SmsReceived 任务在 windows phone 8.1 通用应用程序中不起作用的主要内容,如果未能解决你的问题,请参考以下文章