我有一个服务监听某些事件。 当该事件发生时,通过 startActivity(intent) 显示屏幕。
当用户完成屏幕上的操作后,代码调用 finish(),但它并没有完全关闭应用程序,而是显示主/启动器活动。
我的意思是,有什么最好的方法可以从当前视图中删除所有应用程序屏幕? 或者有什么方法可以绕过这个问题?
我有一个服务监听某些事件。 当该事件发生时,通过 startActivity(intent) 显示屏幕。
当用户完成屏幕上的操作后,代码调用 finish(),但它并没有完全关闭应用程序,而是显示主/启动器活动。
我的意思是,有什么最好的方法可以从当前视图中删除所有应用程序屏幕? 或者有什么方法可以绕过这个问题?
finish()
方法只会结束调用它的Activity。
如果你想要将第一个Activity从堆栈中移除,在调用startActivity(intent)
之后,立即调用finish()
方法。这将从堆栈中移除初始Activity,因此新调用的Activity将是唯一存在的,关闭它将不会留下任何东西。
这有点过度杀伐了...但我用它来处理我的quit()函数
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
System.exit(0);
finish();
http://developer.android.com/guide/topics/fundamentals.html#clearstack