NativeScript 推送通知权限对话框显示在应用程序后面

NativeScript push notifications permission dialog shows behind app

您知道是什么导致 iOS 上的权限请求对话框显示在应用程序后面吗?它实际上快速闪烁,然后落后。我必须按主页按钮才能将其带到前面。在此之前 UI 被阻止。

我正在使用 Everlive,我在应用程序的 launchEvent 中这样调用注册方法:

var pushSettings = {
//iOS - specific settings
iOS: {
badge: true,
sound: true,
alert: true,
clearBadge: true
},
notificationCallbackIOS: function (userInfo) {
...
},
//Android - specific settings
android: {
projectNumber: '944301213976'
},
notificationCallbackAndroid: function callback(data) {
...
}
}

el.push.register(pushSettings, function (data) {
    ...
}, function (error) {

});

谢谢。

编辑:我应该补充一点,我正在 iOS 9.3.4 上进行测试,就在对话框进入应用程序之前,我在控制台中收到以下警告:[=25 不支持 enabledRemoteNotificationTypes =] 8.0 及更高版本。不确定这是否重要,但我想提一下,以防万一。

原来是时间问题。我是 运行 应用程序初始化时的代码。弹出窗口将显示,但不久之后,第一个屏幕(在我的例子中是登录)被初始化,从弹出窗口中窃取焦点。

一旦我在按钮点击事件中移动代码(在屏幕加载完成后),一切都按预期进行。

我不确定这是否是处理此问题的最佳方式。我愿意接受建议。

此外,您可以查看 https://github.com/NativeScript/push-plugin/issues/38 了解更多信息。感谢 Anton Dobrev 为我指明了正确的方向。