ios - 从 iPhone 中的本地通知打开相机

标签 ios uilocalnotification

我正在开发一个应用程序,当通知出现时我必须打开相机,就像“如果你可以 sleep ”应用程序一样

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

关于ios - 从 iPhone 中的本地通知打开相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17810093/

相关文章:

ios - 防止调用静态库中的函数

iphone - UIWebView 电话 : phone link delegate not called on iPad (but it works on iPhone)

ios - 错误 : Expect ")" before CLLocation

ios - 通过用户设置自定义 ui 本地通知

iphone - 在特定时间取消所有通知

ios - Xcodebuild 不生成具有 x86_64 架构的动态框架

ios - 开发者在 Apple Watch 上使用 "Taptic Engine"

iphone - IOS5 中的本地通知 - 如何让它在屏幕上弹出而不是在通知中心?

iphone - iOS 如何在后台模式下处理本地通知?

iphone - UiLocalNotifcations - 恶意或意外的调度