我正在开发一个应用程序,当通知出现时我必须打开相机,就像“如果你可以睡觉”app那样
https://itunes.apple.com/us/app/sleep-if-u-can-alarm-forces/id609598558?mt=8
我无法分析应用程序,如果它真的做了它所说的,因为它是付费应用程序。
我首先担心的是iPhone的可行与否,它适用于Android。如果可行,如何实现。
任何帮助都将不胜感激。
答案 0 :(得分:1)
在安排本地通知时,请添加一些信息作为其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。从那里你可以读出userInfo:
- (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];
}