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-уведомлениями, от запланированного агента.

Другие вопросы по тегам