在Mobile Service服务器端推送Toast
WindowsPushMessage message = new WindowsPushMessage();
message.XmlPayload = @"<?xml version=""1.0"" encoding=""utf-8""?>" +
@"<toast launch=""toastTest"">"+ //launch后面的是传输给Onlaunch的参数
@"<visual><binding template=""ToastText01"">" +
@"<text id=""1"">" + item.Text+"/"+item.UserId+ @"</text>" +
@"</binding></visual></toast>";
try
{
var result = await Services.Push.SendAsync(message);
Services.Log.Info(result.State.ToString());
}
catch (System.Exception ex)
{
Services.Log.Error(ex.Message, null, "Push.SendAsync Error");
}
当你点击Toast时会触发OnLaunched函数,参数内容可以在toast里面指定。这样就可以在OnLaunched根据参数做出指定的操作。
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
string launchString = e.Arguments;
if (launchString.Equals("toastTest"))
{
TestToastLaunchBrowers();
}
…………
}
这里我们通过点击Toast来启动一个外部浏览器并打开一个URL:使用Windows.System.Launcher.LaunchUriAsync(Uri)该方法可以在windows8以及wp8中使用
async void TestToastLaunchBrowers()
{
// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(new Uri("http://www.bing.com"));
}
参考文献:
How to handle activation from a toast notification (XAML)