设备上的 WNS 错误 0x880403E8

WNS error 0x880403E8 on device

我正在开发接收 WNS 通知的 WP8.1 silverlight 应用程序。它在模拟器上运行良好,但在设备 (lumia 640) 上,它在以下 api 调用时崩溃:

var channel = await Windows.Networking.PushNotifications.PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

我收到以下错误:

  • _exception {System.Exception: Exception from HRESULT: 0x880403E8 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter1.GetResult() at BC_Menu.App.<UploadChannel>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter1.GetResult() at BC_Menu.StartUp.FirstPage.d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__3(Object state)} System.Exception

如果我在另一台设备 (lumia 920) 上尝试,它工作正常。这些设备之间的直接区别是我在 Lumia 640 上有一个虚拟帐户并且没有 sim 卡,但我能够安装和更新程序。这应该意味着帐户已正确初始化。还有什么问题?

您正在崩溃,因为 Windows.Networking.PushNotifications.PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync() 调用抛出异常,因为设备未连接到 WNS。确保你处理了这种情况(例如使用 try/catch)——你的用户可能并不总是连接到互联网,这是获得频道所必需的。

至于为什么该设备没有连接到 WNS - 如果您没有 SIM 卡,该设备应该通过 Wi-Fi 连接。如果您在企业中进行开发,请确保他们没有阻止出站连接(这会导致设备无法连接到 WNS)。如果您安装了 SIM 卡但没有数据,则存在一个已知错误,即设备仍会尝试通过蜂窝数据进行连接(当然会失败)。如果是这种情况,只需移除无数据 SIM 卡或禁用蜂窝网络即可。