6
我正在研究一個使用BLE與項目進行通信的應用程序,我需要從中接收後臺通知。我知道GattCharacteristicNotificationTrigger
的存在,但我找不到任何方式在Silverlight 8.1應用程序中註冊後臺任務。在Silverlight 8.1中註冊後臺任務應用程序
任何提示?
我正在研究一個使用BLE與項目進行通信的應用程序,我需要從中接收後臺通知。我知道GattCharacteristicNotificationTrigger
的存在,但我找不到任何方式在Silverlight 8.1應用程序中註冊後臺任務。在Silverlight 8.1中註冊後臺任務應用程序
任何提示?
註冊BackgroundTask很好地解釋了here at MSDN。
下面是簡單的例子,在發射和TimeTrigger呈現出吐司,步驟(適用於 - 運行時和Silverlight應用程序):
Namespace.yourTaskClass
(實現
IBackgroundTask
) - 添加的Windows運行時組件。
namespace myTask // the Namespace of my task
{
public sealed class FirstTask : IBackgroundTask // sealed - important
{
public void Run(IBackgroundTaskInstance taskInstance)
{
// simple example with a Toast, to enable this go to manifest file
// and mark App as TastCapable - it won't work without this
// The Task will start but there will be no Toast.
ToastTemplateType toastTemplate = ToastTemplateType.ToastText02;
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate);
XmlNodeList textElements = toastXml.GetElementsByTagName("text");
textElements[0].AppendChild(toastXml.CreateTextNode("My first Task"));
textElements[1].AppendChild(toastXml.CreateTextNode("I'm message from your background task!"));
ToastNotificationManager.CreateToastNotifier().Show(new ToastNotification(toastXml));
}
}
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
// Windows Phone app must call this to use trigger types (see MSDN)
await BackgroundExecutionManager.RequestAccessAsync();
BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder { Name = "First Task", TaskEntryPoint = "myTask.FirstTask" };
taskBuilder.SetTrigger(new TimeTrigger(15, true));
BackgroundTaskRegistration myFirstTask = taskBuilder.Register();
}
編譯,運行,它應該工作。正如你所看到的,任務應該在15分鐘後開始(這個時間會隨着操作系統按照特定的時間間隔安排任務而變化,所以它會在15-30分鐘之間啓動)。但如何更快地調試任務?
有一個簡單的方法 - 去調試位置工具欄,你會看到一個下拉生命週期事件,從中選擇你的任務,它會火(有時打開/關閉下拉刷新它)。
Here you can download我的示例代碼 - WP8.1的Silverlight應用程序。
謝謝你的回覆,但我已經嘗試過,並且在RT中使用相同的代碼工作,並且在Silverlight中使任務觸發時應用程序崩潰(並且未執行) –
@FelaAmeghino你是否遵循了步驟?我已經添加了[示例代碼](http://1drv.ms/1jYOnzZ) - 也許它會有所幫助。 – Romasz
現在嘗試,它的工作,不知道,我會重試主項目(我昨晚試了,我很困了:P),謝謝:) –