`
jsntghf
  • 浏览: 2528605 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

本地通知(二)

    博客分类:
  • iOS
阅读更多

以前写过一篇文章:本地通知,本文是基于此基础的一个简单的例子。

 

localnotificationAppDelegate.h

 

#import <UIKit/UIKit.h>

@class localnotificationViewController;

@interface localnotificationAppDelegate : NSObject <UIApplicationDelegate> {
	UIWindow *window;
	localnotificationViewController *viewController;
}

@property(nonatomic, retain) IBOutlet UIWindow *window;
@property(nonatomic, retain) IBOutlet localnotificationViewController *viewController;

@end

 

localnotificationAppDelegate.m

 

#import "localnotificationAppDelegate.h"
#import "localnotificationViewController.h"

@implementation localnotificationAppDelegate

@synthesize window;
@synthesize viewController;

#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
	application.applicationIconBadgeNumber = 0;
	[self.window addSubview:viewController.view];
	[self.window makeKeyAndVisible];
	
	return YES;
}

#pragma mark -
#pragma mark Memory management

- (void)dealloc {
	[viewController release];
	[window release];
	[super dealloc];
}

@end

 

 localnotificationViewController.h

 

#import <UIKit/UIKit.h>

@interface localnotificationViewController : UIViewController {
	IBOutlet UILabel *myLable1;
	IBOutlet UILabel *myLable2;
	IBOutlet UILabel *myLable3;
}

@property(nonatomic, retain) UILabel *myLable1;
@property(nonatomic, retain) UILabel *myLable2;
@property(nonatomic, retain) UILabel *myLable3;

- (IBAction)onChangeValue:(id)sender;

@end

 

 localnotificationViewController.m

 

#import "localnotificationViewController.h"

@implementation localnotificationViewController

@synthesize myLable1, myLable2, myLable3;

- (void)viewDidLoad {
	[super viewDidLoad];
	[[UIApplication sharedApplication] cancelAllLocalNotifications];
}

- (void)viewDidUnload {
	self.myLable1 = nil;
	self.myLable2 = nil;
	self.myLable3 = nil;
}

- (void)dealloc {
	[myLable1 release], myLable1 = nil;
	[myLable2 release], myLable2 = nil;
	[myLable3 release], myLable3 = nil;
	[super dealloc];
}

#pragma mark -
#pragma mark onChageValue

- (IBAction)onChangeValue:(id)sender {
	UISwitch *switchBtn = (UISwitch *)sender;
	if (switchBtn.on) {
		UILocalNotification *notification = [[UILocalNotification alloc] init]; 
		NSDate *now = [NSDate date];  
		notification.timeZone = [NSTimeZone defaultTimeZone]; 
		notification.repeatInterval = NSDayCalendarUnit;
		notification.applicationIconBadgeNumber = 1;
		notification.alertAction = NSLocalizedString(@"显示", nil);
		switch (switchBtn.tag) {
			case 0:
			{
				notification.fireDate = [now dateByAddingTimeInterval:5];
				notification.alertBody = self.myLable1.text; 
			}
				break;
			case 1:
			{
				notification.fireDate = [now dateByAddingTimeInterval:10];
				notification.alertBody = self.myLable2.text; 
			}
				break;
			case 2:
			{
				notification.fireDate = [now dateByAddingTimeInterval:15];
				notification.alertBody = self.myLable3.text; 
			}
				break;
			default:
				break;
		}
		[notification setSoundName:UILocalNotificationDefaultSoundName];
		NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
												 [NSString stringWithFormat:@"%d", switchBtn.tag], @"key", nil];
		[notification setUserInfo:dic];
		[[UIApplication sharedApplication] scheduleLocalNotification:notification];
	} else {
		NSArray *array = [[UIApplication sharedApplication] scheduledLocalNotifications];
		for (int i = 0; i < [array count]; i++) {
			UILocalNotification	*myUILocalNotification = [array objectAtIndex:i];
			if ([[[myUILocalNotification userInfo] objectForKey:@"key"] intValue] == switchBtn.tag) {
				[[UIApplication sharedApplication] cancelLocalNotification:myUILocalNotification];
			}
		}
	}
}

@end

 

效果图:


 

分享到:
评论

相关推荐

    iOS开发本地和推送通知编程指南

    - **1.1 推送和本地通知显示效果一样**:无论是本地通知还是推送通知,用户在设备上看到的效果是一致的,包括显示在锁屏界面的通知栏以及应用图标上的数字徽标。 - **1.2 更多关于本地通知**:本地通知完全由应用...

    ios本地和远程推送通知编程指南

    开发者可以使用`UNUserNotificationCenter`类来安排本地通知,包括一次性通知和重复性通知。 ##### 2.3 处理远程推送通知 为了接收远程推送通知,应用需要在用户设备上注册一个设备令牌,并将其发送给服务器。...

    iphone 本地通知代码

    二、配置本地通知 1. 获取授权:首先,你需要获取用户的授权才能发送通知。在Info.plist文件中添加`NSUserNotificationUsageDescription`键,并提供一个描述为何需要访问的通知权限的理由。然后,在代码中使用`...

    ios-本地通知.zip

    二、配置本地通知 1. 创建UNUserNotificationCenter对象:这是处理所有通知的核心对象,用于设置通知的属性、注册通知以及处理用户的响应。 2. 请求权限:使用`requestAuthorization`方法请求用户授权发送本地通知。...

    本地和推送通知编程指南.pdf

    本地通知和推送通知编程指南 iOS应用开发中,通知是一种允许应用在没有运行在前台时通知用户的方式。通知分为本地通知和推送通知两种,它们能够显示警告信息、在应用图标上显示徽标、以及播放声音提醒用户。通知...

    IOS开发本地和推送通知编程指南

    在iOS开发中,本地通知和推送通知是两种用于在应用程序不在前台运行时提醒用户的重要机制。它们通常用于告知用户有新消息、即将到来的日程安排或者需要更新的数据等事件。本指南将介绍如何在iOS平台上实现本地通知和...

    Delphi移动应用中IOS与Android本地通知案例(含源码)

    演示Delphi XE8及以上版本中使用TNotificationCenter控件完成在Android及IOS的本地通知功能(含源码,需自行编译测试),是《Delphi XE8 iOS与Android移动应用开发(APP开发)教程[完整中文版]》书中第二十章内容...

    IOS应用源码——后台运行(Multitasking)以及本地通知(Local Notifications) zip

    二、本地通知(Local Notifications) 本地通知是iOS设备上一种无需网络连接即可触发的应用提醒方式。开发者可以设置定时或基于位置的事件来触发通知,即使应用不在前台也可以向用户发送消息。本地通知的创建和使用...

    IOS应用源码之后台运行(Multitasking)以及本地通知(Local Notifications)Demo .zip

    二、本地通知(Local Notifications) 本地通知是iOS提供的一种机制,即使应用不在前台运行,也能提醒用户有新的信息或事件发生。创建本地通知的步骤如下: 1. **设置通知内容**:定义通知的标题、副标题、声音、...

    本地缓存与分布式缓存优缺点,使用

    在单应用不需要集群支持或者集群情况下各节点无需互相通知的场景下使用本地缓存较合适。 本地缓存优点 1. 读取速度快:本地缓存不需要远程网络请求去操作内存空间,没有额外的性能消耗,所以读取速度快。 2. 适合...

    本地推送(iOS)

    二、实现本地推送的步骤 1. 注册通知服务:首先,需要在应用程序的`AppDelegate`类中注册用户授权接收通知。通过调用`UNUserNotificationCenter`的`requestAuthorization(options:)`方法,请求用户的许可。 2. 创建...

    ios本地推送

    1. 本地推送定义:本地推送是应用程序自行触发的通知,无需服务器参与,开发者可以在程序中设置触发条件,如时间、地理位置等。 2. 设置步骤: - 启用通知服务:在Info.plist文件中添加"UIUserNotificationType"和...

    ios 通知中心

    本文将深入探讨“iOS通知中心”的相关知识点,包括本地通知和远程通知(Push Notification)、通知设置、自定义通知样式以及在实际开发中的应用。 一、本地通知 本地通知是应用程序在设备上预先安排的提醒,无需...

    Mp3 本地播放器(二)

    这个“Mp3 本地播放器(二)”的项目显然关注于播放器的基本功能实现,包括切换歌曲(下一首、上一首)和顺序播放。以下是这些功能的具体实现细节和相关的知识点: 1. **媒体库扫描与管理**: - 在Android中,我们...

    ios——通知

    这里我们将深入探讨iOS的通知系统,包括本地通知(Local Notification)和远程通知(Remote Notification,通常与Apple Push Notification Service, APNs 相关联)。 一、本地通知 本地通知是应用在设备上预先设定...

    iOS通知消息

    本地通知是iOS系统提供的服务,允许开发者在特定时间或条件满足时向用户发送消息。创建本地通知主要涉及以下几个步骤: 1. 导入框架:首先,需要导入UserNotifications框架。 ```swift import UserNotifications ``...

    iOS 本地闹钟

    二、创建本地通知 1. 设置通知中心实例:首先,你需要获取UNUserNotificationCenter的共享实例,这是处理所有通知的入口点。 ```swift let center = UNUserNotificationCenter.current() ``` 2. 创建通知内容:定义...

Global site tag (gtag.js) - Google Analytics