iOS开发之判断用户是否打开APP通知开关

时间:2024-07-30 23:03:56

一.前言

  在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情。iOS中通知机制又叫消息机制,其包括两类:一类是本地通知;另一类是推送通知,也叫远程通知。两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式告诉用户,并且点击通知可以会打开应用程序,但是实现原理却完全不同。

二.代码如下

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #3c828b }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; min-height: 21.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c42275 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #3e1e81 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #703daa }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #822d0f }
p.p8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #1e9421 }
p.p9 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #294c50 }
p.p10 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #1e9421 }
p.p11 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #6122ae }
p.p12 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #822d0f }
span.s1 { color: #c42275 }
span.s2 { color: #000000 }
span.s3 { }
span.s4 { color: #6122ae }
span.s5 { color: #539aa4 }
span.s6 { color: #703daa }
span.s7 { color: #3e1e81 }
span.s8 { color: #78492a }
span.s9 { font: 18.0px "PingFang SC" }
span.s10 { color: #3c828b }
span.s11 { font: 18.0px Menlo; color: #000000 }
span.s12 { font: 18.0px Menlo }

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  //开启通知

if ([[UIApplication sharedApplication]currentUserNotificationSettings].types!=UIUserNotificationTypeNone) {

[self addLocalNotification];

}else{

[[UIApplication sharedApplication]registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound  categories:nil]];

}

return YES;

}

#pragma mark 添加本地通知

-(void)addLocalNotification{

  //定义本地通知对象

UILocalNotification *notification=[[UILocalNotification alloc]init];

  //调用通知

[[UIApplication sharedApplication] scheduleLocalNotification:notification];

}

#pragma mark 移除本地通知,在不需要此通知时记得移除

-(void)removeNotification{

[[UIApplication sharedApplication] cancelAllLocalNotifications];

}

@end

三.效果图

iOS开发之判断用户是否打开APP通知开关

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c42275 }
span.s1 { }