活动仍保留在Android屏幕上

时间:2010-07-08 11:52:46

标签: android

我有一项正在收听某些活动的服务。 当该事件发生时,它会通过startActivity(intent)

显示一个屏幕

当用户在该屏幕上完成某些操作时,代码调用finish() 但不是“关闭”整个应用程序,而是显示主/启动器活动。

我的意思是,从当前视图中删除所有应用程序屏幕的最佳方法是什么? 或以任何方式解决这个问题?

3 个答案:

答案 0 :(得分:3)

finish()方法只完成从中调用的Activity。

如果您希望第一个活动从堆栈中消失,您必须在致电startActivity(intent)后立即致电完成。这将从堆栈中删除初始Activity,因此新调用的Activity是唯一的那个,关闭它将不会留下任何东西。

答案 1 :(得分:1)

主要活动可能尚未完成,因此仍处于活动堆栈中。我不确定正确的解决方案,但也许这有帮助

http://developer.android.com/guide/topics/fundamentals.html#clearstack

答案 2 :(得分:1)

这有点矫枉过正......但我将此用于我的quit()函数

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
System.exit(0);
finish();