Cordova PushPlugin,检测是否启用了推送

时间:2015-07-22 10:23:58

标签: cordova ionic phonegap-pushplugin ios8.4

我使用Ionic和Cordova创建了一个移动应用程序。

但是,我遇到了cordova PushPlugin的问题

当我在应用程序设置中手动停用Push on my Iphone 4s(ios 8.4)时,PushPlugin寄存器功能什么都不做(没有成功,没有错误,没有^^) 当我手动重新激活它时,插件运行良好

我读了很多关于IOS8问题的答案: How to update code using enabledRemoteNotificationTypes because it is "not supported in iOS 8"?

我尝试了来自社区的3/4 repo以及Telerik插件。但同样的问题是,当没有启用推送时没有任何反应。

我想要的是什么:

  • 未启用时错误回调中至少出现错误
  • 或更好,像cordova相机一样处理它:当我手动禁用照片时,弹出一个弹出窗口说要激活它

就像目标C是一种完全不为我所知的语言,任何帮助都会受到赞赏

由于

1 个答案:

答案 0 :(得分:2)

您可以在applicationDidBecomeActiveappDelegate.m

上查看当前的推送状态
- (void)applicationDidBecomeActive:(UIApplication *)application
{

        if ([[UIApplication sharedApplication]  respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {
            if ([[UIApplication sharedApplication]  isRegisteredForRemoteNotifications]){
                NSLog(@"iOS 8, notifications enabled");
            } else {
                NSLog(@"iOS 8, notifications not enabled");
            }
        } else {
            UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
            if (types & UIRemoteNotificationTypeAlert)
            {
                NSLog(@"Notifications Enabled");
            }
            else
            {
                NSLog(@"Notifications not enabled");
            }
        }

}

您还可以将该代码放入插件中并收听applicationDidBecomeActive通知

无论如何,你应该在你试过的插件上打开问题,他们应该调用失败的回调它没有启用推送