如何使用NSThread与UILocalNotification显示自定义视图?

时间:2012-06-07 10:28:14

标签: iphone

我正在开发虚假来电的应用程序。

为此,我现在正在使用本地通知。

我按照设定的时间收到通知,但它会弹出窗口,就像默认通知一样。

相反,我必须从XIB或编码中显示视图。

那么,有没有办法用localnotification设置自定义视图?

或者我可以使用NSThread获取上述输出吗?

如果有任何其他方式来获得疾病输出,请告诉我。

提前致谢


我正在设置通知。

-(void)addNotification
{

        UILocalNotification *localNotification = [[UILocalNotification alloc] init];
        [localNotification setFireDate:[NSDate dateWithTimeIntervalSinceNow:5]];
        [localNotification setAlertAction:@"Answer"];

        [localNotification setAlertBody:[NSString stringWithFormat:@"%@\n\n %@",[txt_CallerName text],[txt_CallerNumber text]]];
        [localNotification setHasAction: YES];
        [localNotification setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber]];

        [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; //Schedule the notification with the system

    [alertNotification setHidden:NO];
}

2 个答案:

答案 0 :(得分:0)

现在无法在接收UILocalNotification时显示自定义界面。当您的应用程序位于前台时,您可能会收到UILocalNotification。但如果它位于前台,您可以显示自定义界面。

通过在-application:didReceiveLocalNotification:中实施UIApplicationDelegate,您捕获本地通知并在发生这种情况时执行某些操作的方式。可以说,这是你的问题的答案,但它无法实现你正在寻找的东西,即通过显示自定义UI在特定时间点启动你的应用程序,因为它只会在应用程序出现时发生已经在前台。

答案 1 :(得分:-1)

您可以使用NSNotificationCenter抛出通知,发生事件只需调用通知的方法并显示您的自定义视图。

1.按以下方式注册通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(displayCustomView) name:@"EventNotification" object:nil];

2.当事件发生时,通知方法如下:

[[NSNotificationCenter defaultCenter] postNotificationName:@"EventNotification" object:nil];

3.在通知方法中显示您的自定义视图,如下所示:

-(void)displayCustomView
{
   //initialize custom view and display as required.
}