0

嗯……</p>

关于 UILocalNotification 和通知的 alertLaunchImage 的问题。

我的应用程序使用 UILocalNotifiaction(s) 来引起用户的注意。像往常一样,会显示带有“操作”和“关闭”按钮的警报。当用户点击 Action 时,会显示由 alertLaunchImage 指定的图像。alertLaunchImage 是应用程序视图之一的屏幕截图,在正常启动时初始化数据后显示。

以下是发送通知的 3 种情况:

  1. 应用程序在前台运行 - 没有警报,没有按设计显示启动图像。没问题。

  2. 如果在发送通知时我的应用程序正在后台运行,那么 launchImage 就像一个魅力。没问题。显示没有应用相关数据的 launchImage,然后应用填充数据。这部分无缝工作。

  3. 但是,如果在发送通知时应用程序没有运行,那么顺序就会令人困惑 - 或者我错过了一些东西。应用程序启动并显示 alertLaunchImage 而不是默认图像。然后在显示实际屏幕(alertLaunchImage 的实时版本)之前通过几个其他屏幕(作为初始化和数据处理的一部分)。

这会让用户感到非常困惑。我的问题在这里。如何避免这种情况?

R/-山姆!

中间视图 警报启动图像

4

2 回答 2

0

您可以尝试清理applicationWillTerminate 中的警报视图设置:

根据UIApplicationDelegate参考applicationWillTerminate:

“此方法让您的应用程序知道它即将被终止并完全从内存中清除。您应该使用此方法为您的应用程序执行任何最终清理任务,例如释放共享资源、保存用户数据、使计时器无效,并存储足够的应用程序状态以在重新启动时重构应用程序的界面”

高温下,

奥德

于 2011-06-20T06:24:15.910 回答
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 回答