2

How to get a toast notification when the app is running in the foreground in wp8

 2 years ago
source link: https://www.codesd.com/item/how-to-get-a-toast-notification-when-the-app-is-running-in-the-foreground-in-wp8.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

How to get a toast notification when the app is running in the foreground in wp8

advertisements

I want to implement the "toast" notification inside my windows phone application. I'm implementing push message's, but I want them to show always. No matter if the application is running or not. The push notification will handle it when the application is closed, but not when it is running. Also if I create a shelltoast manually it won't show. To make it more difficult I can't use any external dll's. I only want to use code. What would be the best way to do this? I already know about the ToastNotificationRecieved event. I want to know how to implement it so that it will show a "toast" like message without using a framework

My code is below

PushPlugin.cs(c# code)

public void showToastNotification(string options)
    {

        ShellToast toast;
        if (!TryDeserializeOptions(options, out toast))
        {
            this.DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
            return;
        }
        Deployment.Current.Dispatcher.BeginInvoke(toast.Show);

    }

public void PushChannel_ShellToastNotificationReceived(object sender, NotificationEventArgs e)
        {
 var toast = new PushNotification
            {
                Type = "toast"
            };

            foreach (var item in e.Collection)
            {
                toast.JsonContent.Add(item.Key, item.Value);
            }

            this.ExecuteCallback(this.pushOptions.NotificationCallback, JsonConvert.SerializeObject(toast));
        }

In javascript

function onNotificationWP8(data) {
    var pushNotification;
    pushNotification = window.plugins.pushNotification;
    pushNotification.showToastNotification(successHandler, errorHandler,
      {
          "Title": data.jsonContent["wp:Text1"], "Content": data.jsonContent["wp:Text2"], "NavigationUri": data.jsonContent["wp:Param"]
      });

}


On devices without Windows Phone 8 Update 3, toast notifications are not displayed when the target app is running in the foreground. On devices with Windows Phone 8 Update 3, toast notifications are displayed when the target app is running in the foreground, but is obscured by other activity such as a phone call or the lock screen.

The following C# code example shows the properties used to create a toast notification using local code.

// Create a toast notification.
// The toast notification will not be shown if the foreground app is running.
ShellToast toast = new ShellToast();
toast.Title = "[title]";
toast.Content = "[content]";
toast.Show();

This thread has it all you looking for


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK