[英]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.