Push-уведомление внутри ScheduledAgent в Windows Phone 8
Я хотел бы достичь аналогичной задачи, в которой я хочу восстановить свой канал push-уведомлений с помощью фонового агента. Является ли это возможным?
Я использую следующий код внутри моего ScheduledAgent, но он не работает. Если я не могу получить доступ к API канала, есть ли альтернатива этому? Как популярные приложения, такие как whats-app и другие, смогли этого добиться? Пожалуйста, помогите мне.
Можете ли вы посоветовать мне альтернативу? Как я могу обновить своего пользователя, что для него есть что-то новое с моего сервера, не используя этот подход?
protected override void OnInvoke(ScheduledTask task)
{
//TODO: Add code to perform your task in background
HttpNotificationChannel pushChannel = HttpNotificationChannel.Find("HikeApp");
if (pushChannel == null)
{
pushChannel = new HttpNotificationChannel("HikeApp");
// Register for all the events before attempting to open the channel.
pushChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(PushChannel_ChannelUriUpdated);
pushChannel.Open();
pushChannel.BindToShellTile();
pushChannel.BindToShellToast();
}
else
{
// the channel was already open, so just register for all the events.
pushChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(PushChannel_ChannelUriUpdated);
}
#if DEBUG_AGENT
ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(1));
#endif
NotifyComplete();
}
1 ответ
Согласно списку неподдерживаемых API-интерфейсов в фоновых агентах, невозможно ничего сделать в Microsoft.Phone.Notification
пространство имен, которое включает в себя все, что связано с push-уведомлениями, от запланированного агента.