-1

私は偽の着信コールのアプリケーションを開発しています。

そのために、私は現在ローカル通知を使用しています。

設定した時間どおりに通知を受け取りますが、デフォルトの通知のようにポップアップが表示されます。

代わりに、これは、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];
}
4

2 に答える 2

0

現在、受信時にカスタムインターフェイスを表示することUILocalNotificationはできません。UILocalNotificationアプリがフォアグラウンドにあるときにたまたま受信した場合は可能です。ただし、フォアグラウンドにある場合は、カスタムインターフェイスを表示できます。

ローカル通知の発火をキャッチし、それが発生したときに何かを実行する方法は、で実装-application:didReceiveLocalNotification:することUIApplicationDelegateです。間違いなく、それはあなたの質問への答えですが、それはあなたが明確に探しているものを達成しません。それは、アプリがすでにフォアグラウンドにあります。

于 2012-06-07T11:43:42.883 に答える
-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.
}
于 2012-06-07T11:36:13.683 に答える