我正在开发一个应用程序,当通知出现时我必须打开相机,就像“如果可以睡”应用程序一样
https://itunes.apple.com/us/app/sleep-if-u-can-alarm-forces/id609598558?mt=8
如果它真的按照它所说的那样做,我无法分析该应用程序,因为它是付费应用程序。
我首先担心的是它是否适用于 iPhone,它适用于 android。如果可行,如何实现。
任何帮助,将不胜感激。
我正在开发一个应用程序,当通知出现时我必须打开相机,就像“如果可以睡”应用程序一样
https://itunes.apple.com/us/app/sleep-if-u-can-alarm-forces/id609598558?mt=8
如果它真的按照它所说的那样做,我无法分析该应用程序,因为它是付费应用程序。
我首先担心的是它是否适用于 iPhone,它适用于 android。如果可行,如何实现。
任何帮助,将不胜感激。
在安排本地通知时,添加一些信息作为userInfo
它的属性。像这样:
UILocalNotification *n = [UILocalNotification new];
n.alertBody = @"Some Alert Text. Take a picture!";
n.userInfo = [[NSDictionary alloc] initWithObjectsAndKeys:@YES, @"openCamera", nil];
n.fireDate = [NSDate dateWithTimeIntervalSinceNow:60];
[[UIApplication sharedApplication] scheduleLocalNotification:n];
如果您的应用程序仍在运行,当用户点击本地通知时,application: didReceiveLocalNotification:
消息将发送到您的 AppDelegate。从那里你可以读出用户信息:
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
if ([[notification.userInfo objectForKey:@"openCamera"] isEqual: @YES]) {
// Do what is needed to open your camera
}
}
如果您的应用程序没有运行,application: didFinishLaunchingWithOptions:
将被调用。在此方法中,您可以从启动选项中读出通知并触发您定义的操作,如下所示:
UILocalNotification *n = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (n) {
[self application:application didReceiveLocalNotification:n];
}