繁体   English   中英

点击本地通知iOS

[英]Tap on local notification iOS

首先,我想知道,当我点击本地通知时会调用哪种特定方法。 我想在点击通知时打开一个网址。 下面是代码应用程序委托。 现在的问题是,即使我没有点击通知,URL也会自动打开。 如果你知道的话,请指导我。 谢谢

 - (void)application:(UIApplication *)application didReceiveLocalNotification:      (UILocalNotification *)notifyAlarm
    {
        application.applicationIconBadgeNumber = 0;
        NSLog(@"Notification tapped :) ");
       [[UIApplication sharedApplication] openURL:[NSURL          URLWithString:@"http://www.google.com.pk"]]; }
- (void)application:(UIApplication *)application didReceiveLocalNotification:      (UILocalNotification *)notifyAlarm

每次触发通知时都会调用此方法。
要在点击通知时打开网址,您必须检查应用程序的状态。

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
    UIApplicationState appState = UIApplicationStateActive;
    if ([application respondsToSelector:@selector(applicationState)])
        appState = application.applicationState;

    if (appState == UIApplicationStateActive)
    {
//        Don't open Url.
    }
    else
    {
//        Open Url.
    }
}

请参阅Apple的本地和远程通知编程指南 》的“处理本地和远程通知”部分。

如果点击了操作按钮(在运行iOS的设备上),则系统将启动应用程序,并且该应用程序将调用其委托人的应用程序:didFinishLaunchingWithOptions:方法(如果已实现); 它传入通知有效负载(用于远程通知)或本地通知对象(用于本地通知)。

后来说

[...]获取applicationState属性的值并对其进行评估。 如果值为UIApplicationStateInactive,则用户轻按操作按钮;否则,轻按操作按钮。 如果值为UIApplicationStateActive,则应用程序在收到通知时位于最前面。

尝试检查application.applicationState。 如果该应用程序在前台未处于活动状态,则无法打开URL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM