当我关闭应用程序(通过HOME按钮)并再次打开它时,我如何强制应用程序从最开始的视图重新启动,而不是从显示的最后位置重新启动(在它关闭之前)?它是项目中的一个背景吗?
设置应用的信息。plist key: UIApplicationExitsOnSuspend为True
寻找来自手机的通知,让你知道手机"变得活跃",这只会发生在应用程序运行时,然后发送到后台,然后再次拉起。一旦你知道它已经再次激活,你可以推你的主页视图。
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
if (application.applicationState == UIApplicationStateInactive ) {
//application has been sent to the background
}
if(application.applicationState == UIApplicationStateActive ) {
//The application has become active an alert view or do something appropriate.
//push home view here.
}
}
这是由多任务处理引起的,即应用程序没有正确退出。
要确保它弹出,在applicationWillEnterForeground
中尝试这样做,如下所示:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[self.navigationController popToRootViewControllerAnimated:NO];
}
或者一种非常快速和肮脏的方法,就是在应用程序进入后台时退出应用程序(注意这可能不是最好的方法)。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[NSThread mainThread] exit];
// OR
exit(0);
}