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

  • 相关阅读:
    hdu 5916
    hdu 5918
    hdu 5914 Triangle
    hdu 5912Fraction
    遗传算法初学习
    hdu 5873 Football Games
    JAVA 定时器的三种方法
    java反射对实体类取值和赋值,可以写成通过实体类获取其他元素的数据,很方便哦~~~
    Eclipse设置Tab键缩进4个空格的步骤,也就是按一下Tab键输出四个空格
    Nginx 相关介绍(Nginx是什么?能干嘛?个人觉得写得比较好的文章,转载过来)
  • 原文地址:https://www.cnblogs.com/qingzZ/p/15309102.html
Copyright © 2011-2022 走看看