我实际上正在开发一个需要处理通知的iOS应用程序。
我目前正在使用本地通知,当我点击通知时,我需要重定向到不同的viewControllers。
我的问题是,现在每次收到通知时都会进行重定向,应用程序不会等待我点击它。
我尝试了很多解决方案,但我总是遇到同样的问题。
所以我想知道:是否可以仅在用户点击通知时重定向到特定视图,而不是在它出现时?
提前感谢您的帮助。
答案 0 :(得分:1)
您可以尝试如下。我也写过代码,可以帮到你。
当应用程序处于非活动状态时:您可以重定向用户 直接到所需的屏幕,因为他们通过点击进入应用程序 通知。
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateActive)
{
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Alert" message:@"Your Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"View", nil];
[alert show];
}
if (state == UIApplicationStateInactive)
{
// Redirect User to your required screen.
}
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 1)
{
// Redirect User to your required screen.
}
}
答案 1 :(得分:0)
您可以在使用[[UIApplication sharedApplication] applicationState]
如果应用程序处于活动状态,您只需显示UIAlertView,指示用户接收本地通知。因此,用户单击alertView,您可以重定向viewController。
我希望我的回答可以帮到你。