-1

ローカル通知を起動するサンプル アプリケーションを 1 つ作成しました。

通知が発生すると、画像に表示されているデバイスの通知領域に常にバナーが表示されます。ここに画像の説明を入力

しかし、これではなくアラートが必要で、そのアラートから選択したオプションに基づいてアクションを実行したいと考えています。

ローカル通知を起動するコードは次のとおりです。

-(IBAction)setNotification:(id)sender{

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil)
{
    return;
}

localNotif.timeZone = [NSTimeZone defaultTimeZone];

// Get the year, month, day from the date
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSTimeZoneCalendarUnit|NSSecondCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:[NSDate date]];

// Set the second to be zero
components.minute = components.minute + 1;
components.second = 0;

// Create the date
NSDate *date = [[NSCalendar currentCalendar] dateFromComponents:components];
NSLog(@"Fire Date :: %@",date);
localNotif.fireDate = date;

localNotif.alertBody = [NSString stringWithFormat:@"First Alarm"];


localNotif.alertAction =@"Ok";

localNotif.soundName=@"Alarm_1.mp3";

localNotif.applicationIconBadgeNumber = 1;


localNotif.alertAction = @"Application name";
localNotif.HasAction = true;

// Schedule the notification
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

}

何か間違いがあれば教えてください。

前もって感謝します。

4

3 に答える 3

0

これが迅速で短い答えです。それをしてはいけない。Apples のドキュメントには、didReceiveLocalNotification のみが記載されています。通知の表示方法は開発者次第ではありません。ユーザーは、SETTINGS を使用して通知を表示する方法を選択します。

あなたの場合、ユーザーが通知をタップしたときにデリゲート コールバックを実装してロジックを接続するだけです。

于 2013-10-24T15:03:40.547 に答える
0

[設定] -> [通知センター] -> [アプリ] -> [アラート] で通知の種類を変更します。

ここに画像の説明を入力

クインの「The Eskimo!」よりIBG が引用:

「これはあなたの言いたいこと次第です。UILocalNotificationプロパティ(alertBody、soundNameなど)の設定方法に基づいて、通知の表示方法をある程度制御できます。ただし、これらのプロパティの方法について質問している場合解釈されます (ユーザーが [設定] > [通知] でカスタマイズできるもの)、それらはユーザー設定であり、API を介して公開されることはありません。」

于 2013-10-24T06:43:38.407 に答える