我已经搜索了一段时间试图找到答案,但似乎找不到。我想做的是让我的应用程序在后台运行时发送本地通知,并且当用户打开通知时,会将他们带到网站。我已全部设置完毕,但它一直打开应用程序而不是访问网站。
我的问题是,这可能吗?如果是这样,您能看看我下面的代码哪里出了问题吗?感谢您的帮助。
CODE:
-(void)applicationDidEnterBackground:(UIApplication *)application
{
// 使用此方法释放共享资源,保存用户数据,使计时器无效,并存储足够的应用程序状态信息,以便将应用程序恢复到当前状态,以防应用程序稍后终止。
// 如果您的应用程序支持后台执行,则当用户退出时将调用此方法而不是 applicationWillTerminate: 。
NSDate *date = [NSDate date];
NSDate *futureDate = [date dateByAddingTimeInterval:3];
notifyAlarm.fireDate = futureDate;
notifyAlarm.timeZone = [NSTimeZone defaultTimeZone];
notifyAlarm.repeatInterval = 0;
notifyAlarm.alertBody = @"Visit Our Website for more info";
[app scheduleLocalNotification:notifyAlarm];
if ( [notifyAlarm.alertBody isEqualToString:@"Visit Our Website for more info"] ) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.bluemoonstudios.com.au"]];
}
在您的业务逻辑中
-(void)scheduleNotificationForDate:(NSDate *)fireDate{
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.fireDate = fireDate;
notification.alertAction = @"View";
notification.alertBody = @"New Message Received";
notification.userInfo = @{@"SiteURLKey": @"http://www.google.com"};
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
}
在你的 AppDelegate 中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if(notification != nil){
NSDictionary *userInfo = notification.userInfo;
NSURL *siteURL = [NSURL URLWithString:[userInfo objectForKey:@"SiteURLKey"]];
[[UIApplication sharedApplication] openURL:siteURL];
}
}
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
NSDictionary *userInfo = notification.userInfo;
NSURL *siteURL = [NSURL URLWithString:[userInfo objectForKey:@"SiteURLKey"]];
[[UIApplication sharedApplication] openURL:siteURL];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)