Я добавил коды обработки push-уведомлений в приложение UWP форм xamarin.
Коды:
async Task InitRemoteNotificationAsync()
{
var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
if (channel != null)
{
channel.PushNotificationReceived += OnPushNotificationReceived;
Debug.WriteLine($"Received token:{channel.Uri}");
}
}
private void OnPushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs args)
{
if (args.ToastNotification.Content.InnerText != null)
{
var msg = args.ToastNotification.Content.InnerText;
Xamarin.Forms.MessagingCenter.Send<object, string>(this, MyProject.App.NotificationReceivedKey, msg);
}
}
Я добавил нулевые проверки в мои коды. Когда я пытаюсь отправить тестовое уведомление от http://pushtestserver.azurewebsites.net/wns/, появляется следующее исключение.
Исключительная ситуация при отправке обновления: System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта.
в WebRole1.WNS.WebForm1.PostToWns (строковый секрет, строковый sid, строковый uri, строковый xml, строковый messagesType, строковый contentType)
на WebRole1.WNS.WebForm1.btnDiyPush_Click (Отправитель объекта, EventArgs e)
Скриншот: