0

うーん……</p>

UILocalNotification と通知の alertLaunchImage に関する質問です。

私のアプリは UILocalNotifiaction(s) を使用してユーザーの注意を引きます。いつものように、アラートには「アクション」ボタンと「閉じる」ボタンが表示されます。ユーザーが Action をタップすると、alertLaunchImage で指定された画像が表示されます。alertLaunchImage は、正常に起動されたときにデータが初期化された後に表示されるアプリのビューの 1 つのスクリーンショットです。

通知が配信される 3 つのケースを次に示します。

  1. アプリはフォアグラウンドで実行されています - 警告はなく、launchImage は設計どおりに表示されません。問題はありません。

  2. 通知が配信されたときにアプリがバックグラウンドで実行されている場合、launchImage は魅力的に機能します。問題はありません。アプリ関連のデータを含まない launchImage が表示され、アプリがデータを入力します。この部分はシームレスに機能します。

  3. ただし、通知が配信されたときにアプリが実行されていない場合、シーケンスが混乱するか、何かを見逃しています。アプリが起動し、デフォルト イメージの代わりに alertLaunchImage が表示されます。次に、実際の画面 (alertLaunchImage のライブ バージョン) が表示される前に、(初期化とデータ処理の一部として) 他のいくつかの画面を通過します。

これは、ユーザーを非常に混乱させる可能性があります。私の質問はここに来ます。どうすればこれを回避できますか?

R/- サム!

中間ビュー alertLaunchImage

4

2 に答える 2

0

optionsアプリがローカル通知によって起動された場合、に渡されたでその通知を受け取ります-application:didFinishLaunchingWithOptions:。これに基づいて、アニメーションなしで正しい画面に移動するコードを記述できます。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{  
    UILocalNotification *localNotification = [launchOptions valueForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    if (localNotification != nil) {
        // startup by local notification
    } else {
        // normal startup
    }
}
于 2012-06-24T16:19:57.123 に答える
0

applicationWillTerminateでアラート ビューの設定をクリーンアップしてみてください。

UIApplicationDelegateリファレンスapplicationWillTerminate:によると:

「このメソッドは、アプリケーションが終了され、メモリから完全に削除されようとしていることをアプリケーションに知らせます。共有リソースの解放、ユーザー データの保存、タイマーの無効化など、アプリケーションの最終的なクリーンアップ タスクを実行するには、このメソッドを使用する必要があります。アプリケーションの再起動時にアプリケーションのインターフェースを再構成するのに十分なアプリケーションの状態を保存します。」

HTH、

オデド

于 2011-06-20T06:24:15.910 に答える