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

  • 相关阅读:
    在Wince下使用钩子函数
    WinCE下钩子应用(一)——WinCE 下实时捕获键盘消息
    记录此刻
    常用数列
    百度之星度度熊拼三角
    笛卡尔定理
    Lucas定理
    简单概念
    Unknown Treasure Lucas+中国剩余定理+快速乘
    2017ccpc杭州站 Problem B. Master of Phi
  • 原文地址:https://www.cnblogs.com/qingzZ/p/15309102.html
Copyright © 2011-2022 走看看