我想在用户点击Iphone主页按钮时显示UIAlertView(意味着关闭应用程序)
我已经完成了这些代码
- (void)applicationWillTerminate:(UIApplication *)application
{
NSString *errorString =@"Testing";
UIAlertView * errorAlert = [[UIAlertView alloc] initWithTitle:@"Alert" message:errorString delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[errorAlert show];
[errorAlert release];
}
但是UIAlertView没有显示。请帮忙
先谢谢
答案 0 :(得分:2)
用户的目的是在他/她按下主页按钮时关闭您的应用程序。 Apple建议让他/她这样做。我想说的是:不要这样做。我认为这甚至是不可能的。
答案 1 :(得分:0)
查看Problem with applicationShouldTerminate on iPhone:
答案 2 :(得分:0)
applicationWillTerminate:
,因为该应用只能进入后台模式,而不是实际终止。
即使它实际被调用(应用程序确实被终止,或者您将代码移动到applicationWillEnterForeground:
),显示警报也没用,因为警报与活动应用程序相关联,并且您的应用在显示提醒时已停用!所以真正发生的是,当用户按下主页按钮时警报消失,当他们恢复你的应用程序时,他们会看到一个神秘的警报弹出。
不要问用户是否想要退出您的应用。这不是iOS的常态。相反,请保存applicationDidEnterBackground:
中的所有状态,并在applicationWillEnterForeground:
和application:didFinishLaunchingWithOptions:
中恢复这些状态,让用户感觉应用程序从未被终止。
答案 3 :(得分:0)
您可能不想使用applicationWillTerminate
,而是使用applicationWillResignActive
。查看较早的帖子,例如this one以获取更多信息。
答案 4 :(得分:0)
当应用程序收到SIGKILL(退出)命令时,您无法显示uialertview。您可以在applicationWillTerminate中调用任何文件或后台函数 - 为此,您需要在plist中设置一个键。
UIApplicationExitsOnSuspend - 布尔 - 是。