【发布时间】:2015-05-21 09:53:44
【问题描述】:
从iOS8开始,我们可以在UILocalNotification中显示一些提示选项
在我的应用程序中,我可以选择报警。据我所知,从后台发起呼叫是不可能的,那么你有什么建议?我可以启动应用程序然后触发呼叫吗?或者还有其他选择吗?
【问题讨论】:
-
你可以启动应用并调用
标签: ios ios8 uilocalnotification
从iOS8开始,我们可以在UILocalNotification中显示一些提示选项
在我的应用程序中,我可以选择报警。据我所知,从后台发起呼叫是不可能的,那么你有什么建议?我可以启动应用程序然后触发呼叫吗?或者还有其他选择吗?
【问题讨论】:
标签: ios ios8 uilocalnotification
如果您想在推送通知到达时在后台线程中执行操作(未挂起),您需要在推送通知有效负载中发送“content-available”:@“1”。有了这个,你就可以在后台处理应用程序
您可以在使用断点实现后进行测试。 当应用程序正在运行但在后台发送推送通知。
内容可用
【讨论】:
UILocalNotification
所以,我找到了一个解决方案:
声明UIMutableUserNotificationAction时,应将其激活模式设置为UIUserNotificationActivationModeForeground:
UIMutableUserNotificationAction *notificationAction1 =[[UIMutableUserNotificationAction alloc] init];
notificationAction1.identifier = @"identifier1";
notificationAction1.title = @"identifier1";
notificationAction1.activationMode = UIUserNotificationActivationModeForeground; //HERE the tip
notificationAction1.destructive = NO;
notificationAction1.authenticationRequired = NO;
然后在你的 AppDelegate 方法中:
- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler {
if ([identifier isEqualToString:@"identifier1"]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
}
}
就是这样!
【讨论】: