当前位置: 代码迷 >> 综合 >> iOS怎么判断用户是否打开了系统设置里面推送通知的开关?
  详细解决方案

iOS怎么判断用户是否打开了系统设置里面推送通知的开关?

热度:5   发布时间:2024-01-20 19:40:15.0

    //ios7系统 

    //不能接收推送,不为0时可以接收推送,是个枚举型   

    [[UIApplicationsharedApplication] enabledRemoteNotificationTypes] ==0;

    

    //ios8以上系统

    //不能接收推送,不为0时可以接收推送,是个枚举型

     [[UIApplicationsharedApplication] currentUserNotificationSettings].types ==0;

 

    //注意,当到手机设置界面设置推送时,可以Appdelegate里的进入前台代理方法里发送一个通知,做相应的界面改变



  如:

    if(isIOS8){

        BOOL isRemoteNotify = [UIApplicationsharedApplication].isRegisteredForRemoteNotifications;

        [self shareNotificationCheck:!isRemoteNotify];

    }

    else{

        UIRemoteNotificationType type = [[UIApplicationsharedApplication] enabledRemoteNotificationTypes];

        int typeBadge = (type & UIRemoteNotificationTypeBadge);

        int typeSound = (type & UIRemoteNotificationTypeSound);

        int typeAlert = (type & UIRemoteNotificationTypeAlert);

        BOOL ret =  !typeBadge || !typeSound || !typeAlert;

        

        [self shareNotificationCheck:ret];

    }

    //其中[self shareNotificationCheck:YES ]是弹出警告框的


  相关解决方案