My application receives push notifications well when the application is closed. But when the app is running, I get nothing. This is the same code that I have used in previous apps with out any problems, those were on WindowsPhone8 and the new apps are running on WindowsPhone8.1 devices.
I used this Push Tutorial when I made the original app. I do have the line that says add this if you want to receive notifications while the app is open.
If the 8.1 update has done something to the push notifications that would be good to know. Anything else would also be appreciated.
HttpNotificationChannel pushChannel;
string channelName = "PushChannel";
pushChannel = HttpNotificationChannel.Find(channelName);
//Push Notifications
if (pushChannel == null)
{
pushChannel = new HttpNotificationChannel(channelName);
//// Register for all the events before attempting to open the channel.
pushChannel.ChannelUriUpdated +=
new EventHandler<NotificationChannelUriEventArgs>(
PushChannel_ChannelUriUpdated);
pushChannel.ErrorOccurred +=
new EventHandler<NotificationChannelErrorEventArgs>(
PushChannel_ErrorOccurred);
// Register for this notification only if you need to receive
// the notifications while your application is running.
pushChannel.ShellToastNotificationReceived +=
new EventHandler<NotificationEventArgs>(
PushChannel_ShellToastNotificationReceived);
pushChannel.Open();
// Bind this new channel for toast events.
pushChannel.BindToShellToast();
}
else...
void PushChannel_ShellToastNotificationReceived(object sender,
NotificationEventArgs e)
{
string relativeUri = string.Empty;
// Parse out the information that was part of the message.
foreach (string key in e.Collection.Keys)
{
if (string.Compare(
key,
"wp:Param",
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.CompareOptions.IgnoreCase) == 0)
{
relativeUri = e.Collection[key];
}
}
}
Make sure notifications are enabled for the apps you want. Check your battery-saving settings. You can adjust power settings on your Android to disable apps or app features when the battery drops below a certain level. Battery Saver Mode is a common culprit for notification issues.
You can fix an iPhone that's not getting notifications by restarting it or making sure notifications are turned on. You should also make sure your iPhone is connected to the internet so apps can receive notifications. If all else fails, you should try resetting the iPhone — just make sure to back it up first.
Rob Caplan:
Toasts aren't expected to display when the app is in the foreground. The app is expected to show its own UI, if needed (your snippet doesn't show anything). This is what the ShellToastNotificationReceived event is for: it fires when a toast notification arrives instead of the toast showing up. Can you confirm that ShellToastNotificationReceived isn't raised when you expect the toast? It should be. Can you confirm that it is registered for and received (or not) in the debugger? See msdn.microsoft.com/en-us/library/windows/apps/…
Me:
Before the 8.1 Update, when an open app received a PUSH, the toast would still show. I just did some testing, and sure enough, the "PushChannel_ShellToastNotificationReceived" event is still being fired, but the toast not showing. I guess this just means I need to handle it different. If you want to turn that into an answer, I can award it the bounty.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With