zoukankan      html  css  js  c++  java
  • iOS应用内跳转系统推送设置页

    #pragma mark - 是否开启APP推送
    /**是否开启推送*/
    - (BOOL)isSwitchAppNotification {
        if ([UIDevice currentDevice].systemVersion.doubleValue >= 10.0) {
            __block BOOL result = NO;
            //异步线程中操作是否完成
            __block BOOL inThreadOperationComplete = NO;
            [[UNUserNotificationCenter currentNotificationCenter] getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
                if (settings.authorizationStatus == UNAuthorizationStatusDenied) {
                    result = NO;
                }else if (settings.authorizationStatus == UNAuthorizationStatusNotDetermined) {
                    result = NO;
                }else if (settings.authorizationStatus == UNAuthorizationStatusAuthorized) {
                    result = YES;
                }else {
                    result = NO;
                }
                inThreadOperationComplete = YES;
            }];
            
            while (!inThreadOperationComplete) {
                [NSThread sleepForTimeInterval:0];
            }
            return result;
        }
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wdeprecated-declarations"
        else if ([UIDevice currentDevice].systemVersion.doubleValue >= 8.0)
        {
            UIUserNotificationSettings *setting = [[UIApplication sharedApplication] currentUserNotificationSettings];
            if (UIUserNotificationTypeNone != setting.types) {
                return YES;
            }else {
                return NO;
            }
            
        }else
        {
            UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
            if(UIRemoteNotificationTypeNone != type) {
                return YES;
            }else {
                return NO;
            }
        }
    }
    /// 进入前台监听
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        
        self.navigationItem.title = @"通知管理";
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appBecomeActive:) name:UIApplicationDidBecomeActiveNotification object:nil];
        [self setupMainUI];
        self.swt.on = [self isSwitchAppNotification];
    }
    
    
    #pragma mark - NSNotification
    - (void)appBecomeActive:(NSNotification *)note {
        self.swt.on = [self isSwitchAppNotification];
    }

    参考

    https://www.jianshu.com/p/16d2cdefb9cd

  • 相关阅读:
    ecshop里的$_CFG从哪来的
    高效PHP程序必知的53个技巧
    Jquery结合datagrid框架
    PHP数据类型转换(字符转数字,数字转字符)
    php 操作数组 (合并,拆分,追加,查找,删除等)
    css3制作导航栏
    php日期转时间戳,指定日期转换成时间戳
    PHP 时间与字符串的相互转化
    php 生成.txt文件
    linux PHP yum 安装phpzie
  • 原文地址:https://www.cnblogs.com/qingzZ/p/15309102.html
Copyright © 2011-2022 走看看