LocalNotification

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • LocalNotification

    Hi Wiedermal! =)

    Ich habe bei einem Timer eine localNotification eingerichtet, der 1 Minute vor ablaufen der Zeit eine Benachrichtigung bringt. Wenn ich nun aus der App rausgehe bleibt die Zeit am Label stehen und läuft erst wieder weiter wenn ich die App wieder geöffnet habe.
    Das komische ist das die Benachrichtigung nicht erst dann kommt wenn die angezeigte Zeit auf 1 Minute ist sondern zur richtigen Zeit, also die Zeit ab dem drücken des Start Buttons, benachrichtigt.
    Hatte jetzt die Idee die Zeit über die localNotification zu aktualisieren wenn ich die Seite wieder aufrufe. Allerdings fehlt mir die nötige Xcode Erfahrung um zu wissen wie dies Funktioniert.

    Könnte mir jemand von euch dabei helfen und mir erklären ob es möglich ist und wenn ja wie ich die Zeit der localNotification z.B. in ein Label speichere.

    Lg Scartx
  • hmmmm.. du hast recht, ist wirklich ein wenig komisch formuliert =D sry!

    Im Grunde will ich einfach die Zeit auslesen die noch verbleibt bis die Benachrichtigung erscheint.
    Ich denke du meinst ich kann die Benachrichtigung auslesen, also das was drinnen steht, aber ich brauch eigentlich nur die verbleibende Zeit!?

    Lg
  • jawohl genau das, vielen dank schon mal.
    Jetzt habe ich aber trotzdem immer noch das Problem das aus irgendeinen Grund ich den Wert nicht ins Label bekomme wenn der View neu ladet.
    Ich habe es schon ausprobiert mit einem Button die zeit zu aktualisieren und da schreibt es immer den richtigen Wert in das Label allerdings wenn ich einmal den View gewechselt habe macht er das auch nicht mehr... an was könnte das liegen?

    Lg
  • Das ist mal der Button der es Startet:

    - (IBAction)buttonPressed:(id)sender {
    localNotification = [[UILocalNotification alloc] init];
    localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
    localNotification.alertBody = @"Hallo";
    localNotification.timeZone = [NSTimeZone defaultTimeZone];
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
    }

    Der Button der es anzeigt wie lange noch:

    - (IBAction)buttonStop:(id)sender {
    NSTimeInterval Time = [localNotification.fireDate timeIntervalSinceNow];
    NSString *string = [NSString stringWithFormat:@"%f", Time];
    int Zeit = [string intValue];
    self.label.text = [NSString stringWithFormat:@"%i", Zeit];
    }

    und in der .h Datei:

    @interface ViewController : UIViewController
    - (IBAction)buttonPressed:(id)sender;
    - (IBAction)buttonStop:(id)sender;
    @property (weak, nonatomic) IBOutlet UILabel *label;
    @end
    UILocalNotification *localNotification;


    Ich hab vorher noch einen View aber den hab ich einfach nur eingefügt und einem Button hinzugefügt um auf den Hauptview zu gelangen, zum testen! Ein Navigation Controller ist auch noch dabei =)

    Hab es gerade noch mal getestet....jetzt geht es..... !?
  • Scartx schrieb:

    - (IBAction)buttonStop:(id)sender {
    NSTimeInterval Time = [localNotification.fireDate timeIntervalSinceNow];
    NSString *string = [NSString stringWithFormat:@"%f", Time];
    int Zeit = [string intValue];
    self.label.text = [NSString stringWithFormat:@"%i", Zeit];
    }

    Nachkommastellen durch Umwandlung in einen String und wieder zurück in eine Zahl ist Frickelei. Das geht schöner:

    Quellcode

    1. - (IBAction)buttonStop:(id)sender {
    2. NSTimeInterval theTime = [localNotification.fireDate timeIntervalSinceNow];
    3. self.label.text = [NSString stringWithFormat:@"%.0f", theTime];
    4. }