屏幕上仍显示Activity(Android)

3

我有一个服务监听某些事件。 当该事件发生时,通过 startActivity(intent) 显示屏幕。

当用户完成屏幕上的操作后,代码调用 finish(),但它并没有完全关闭应用程序,而是显示主/启动器活动。

我的意思是,有什么最好的方法可以从当前视图中删除所有应用程序屏幕? 或者有什么方法可以绕过这个问题?

3个回答

3

finish() 方法只会结束调用它的Activity。

如果你想要将第一个Activity从堆栈中移除,在调用startActivity(intent)之后,立即调用finish()方法。这将从堆栈中移除初始Activity,因此新调用的Activity将是唯一存在的,关闭它将不会留下任何东西。


答案是错误的,因为服务调用了startactivity,所以我们不能在此之后调用Finish,因为它是从服务而不是第一个活动开始的。 看起来是因为它是默认的,它是同一组或某些东西的一部分。 - shaimagz
所以,问题在于当Service激活您的应用程序时,它会打开多个Activity吗?您直接通过清单调用的Activity是否可访问?也可能是应用程序已经处于“活动”状态,并通过调用子Activity将其带到前台。 - kiswa

1

这有点过度杀伐了...但我用它来处理我的quit()函数

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

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接