我正在开发一个应用程序,当通知出现时我必须打开相机,就像“如果你可以 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/