2

私は次の質問のいくつかを研究しました::

1.)iPhoneで選択した日のアラームを設定するにはどうすればよいですか?

2.)繰り返しローカル通知を使用するiPhoneアラーム

3.)iPhoneでアラームを設定し、ローカル通知に保存するにはどうすればよいですか?

しかし、それらはすべてローカル通知を使用しています。アラームビューでスヌーズ、無視、OKの3つのボタンを使用する必要があるため、ローカル通知で問題が発生しています。ボタンをクリックするたびにカスタムアクションを実行する必要があります。

このようなことで私を助けてください。

提案を受け入れました。

前もって感謝します。

クルディープ。

4

1 に答える 1

0

あなたのアプリデリゲートでは...

- (void) presentWidget: (NSString*)theDisplayedText {
    BOOL widgetIspresent = [WidgetVC widgetIsCurrentlyPresented];

    if (!widgetIspresent) {
        WidgetVC *widgetVC = [[WidgetVC alloc] initWithNibName:@"WidgetVC" userInfoString:theDisplayedText bundle:nil];

        widgetVC.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
        widgetVC.userInfoStr = theDisplayedText;
        [mainScreenManager presentViewController:widgetVC animated:YES completion:nil];
    }
}

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
        if (localNotif) {
            NSLog(@"Recieved Notification  didFinishLaunchingWithOptions %@",localNotif);
            NSString *theDisplaytext = [localNotif.userInfo valueForKey:@"someKey"];
            //here we have to handle whatever notification was pressed - that might also be an old aready passed one
            //this all is checked when the widget opens - it will show if the notification is OK or too old
            [self presentWidget: theDisplaytext ];
        } else {
            //so we started the app normally, not via local notification
            [self presentWidget];

        }

        return YES;
    }


// Handle the notificaton when the app is running
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)localNotif {
    // Handle the notificaton when the app is running
    NSLog(@"Recieved Notification didReceiveLocalNotification %@",localNotif);
    NSString *theDisplaytext = [localNotif.userInfo valueForKey:@"someKey"];
    [self presentWidget: theDisplaytext];
}

ウィジェットのUIViewControllerを開始する方法が必要です。mainScreenManagerヘルパーを作成しました。

したがって、widgetVCには、「Snooze」と「OK」がありますが、「Ignore」は通知自体を無視するだけです。

これがあなたを使える軌道に乗せることを願っています...

psアプリをAndroidからiPhoneに移植したので、この画面に「widgetVC」という名前を使用しました。Androidでは、ウィジェットとして実装されます。iPhone愛好家が気分を害していないことを願っています:-)

于 2012-08-22T14:10:37.430 に答える