点击推送通知的自定义按钮后如何打开iOS应用程序?

10
我在iOS推送通知中添加了一些按钮,例如我使用自定义按钮定制了推送通知横幅/警报,并希望打开该应用程序。
目前,当我点击横幅/警报对话框上的"打开"按钮时,应用程序会成功运行。
我想通过编程方式添加打开应用程序的事件。
注:这是关于交互式推送通知的问题。根据我的研究,还没有与此相关的答案。

你是在说iOS 8中的交互式通知吗? - Suhit Patil
是的,这是交互式通知问题。当自定义按钮被点击时,我可以处理事件。我想要的是打开应用程序。就如你所知,通知警报中有一个“打开”按钮,可以打开应用程序。 - Hiroto
2
我确定这个问题不是重复的。看起来你不知道问题出在哪里,Kheldar。 - Hiroto
您可以将操作按钮模式(setActivationMode)设置为UIUserNotificationActivationModeForeground。 - Anny
1
UIMutableUserNotificationAction *action2; action2 = [[UIMutableUserNotificationAction alloc] init]; [action2 setActivationMode:UIUserNotificationActivationModeForeground]; [action2 setTitle:@"关闭"]; [action2 setIdentifier:NotificationActionTwoIdent]; [action2 setDestructive:NO]; [action2 setAuthenticationRequired:NO]; - Anny
@Hiroto,你找到解决方案了吗? - Tejas Ardeshna
1个回答

10

正如Sudhan指出的那样进行更正:

您将要添加到UIUserNotificationCategory中的UIUserNotificationAction对象具有一个方法activationMode,它可以采用常量UIUserNotificationActivationModeForeground

yourNotifificationAction.activationMode=UIUserNotificationActivationModeForeground

当用户按下操作按钮时,应用程序将在前台启动并调用appDelegate上的此方法:

-(void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler

1
以上方法不可行,因为这是从其他应用程序打开应用程序。请尝试使用以下代码([action1 setActivationMode:UIUserNotificationActivationModeForeground];),我认为您之前使用了后台激活模式 @Hiroto - Sudhan
@Anny 如果你觉得这个答案有帮助,请点赞。 - Ishaan Sejwal

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