在iPhone上从本地通知中打开相机。

3
我正在开发一个应用程序,需要在通知出现时打开相机,就像"Sleep if you can"应用程序一样。

https://itunes.apple.com/us/app/sleep-if-u-can-alarm-forces/id609598558?mt=8

由于这是一款付费应用程序,我无法分析其是否真正实现了它所说的功能。

我的第一个问题是它是否适用于iPhone,因为它可以在Android上很好地工作。如果可行,如何实现。

任何帮助将不胜感激。


“因为这是一款付费应用。” 不值得花1.99美元去看一眼吗? - woz
有什么想法可以解释这个应用程序如何在被终止后立即显示通知“如果终止,此应用程序将无法工作”。请帮忙。 - Swati
1个回答

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];

如果您的应用程序仍在运行,当用户点击本地通知时,将向您的AppDelegate发送application: didReceiveLocalNotification:消息。从那里,您可以读取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];
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接