【问题标题】:Cordova PushPlugin, detect if Pushs are enabledCordova Push 插件,检测是否启用了推送
【发布时间】:2015-07-22 10:23:58
【问题描述】:

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

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

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

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

我尝试了来自社区的 3/4 回购以及 Telerik 插件。但是同样的问题,不启用推送时什么都不会发生。

我想要什么:

  • 未启用时错误回调中至少有一个错误
  • 或者更好,像处理科尔多瓦相机一样处理它:当我手动禁用照片时,会打开一个弹出窗口说要激活它

Objective C 对我来说是一门完全未知的语言,任何帮助将不胜感激

谢谢

【问题讨论】:

    标签: cordova ionic phonegap-pushplugin ios8.4


    【解决方案1】:

    您可以在applicationDidBecomeActive(在您的appDelegate.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 通知

    无论如何,您应该在您尝试过的插件上打开问题,如果未启用推送,他们应该调用失败回调

    【讨论】:

    • 这很好!谢谢,我会尝试用它来抛出错误他们不在插件中使用'isRegisteredForRemoteNotifications'我不知道是否有办法打开手机设置(我认为它有点复杂)我会发布插件页面,谢谢
    • 在 iOS 8 上,您可以打开应用的手机设置
    猜你喜欢
    • 2015-11-17
    • 1970-01-01
    • 2014-12-16
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多