我有一项正在收听某些活动的服务。 当该事件发生时,它会通过startActivity(intent)
显示一个屏幕当用户在该屏幕上完成某些操作时,代码调用finish() 但不是“关闭”整个应用程序,而是显示主/启动器活动。
我的意思是,从当前视图中删除所有应用程序屏幕的最佳方法是什么? 或以任何方式解决这个问题?
答案 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();