由于一个复杂的原因,我需要能够在用户按下HOME按钮时完成()我的活动.
这里的故事是我有一个主屏幕小部件,它启动我的应用程序的一个不同的部分,具有完全透明的活动(所以即使我的活动正在运行,主屏幕仍然显示).如果先前的活动通过“主页”按钮终止,则它们将被带到前台并遮盖主屏幕.
或者作为替代方案,我可以以某种方式强制完成()之前的活动吗?
解决方法
关于什么
android:launchMode="singleTask"
要么
android:launchMode="singleInstance"
在你的清单?我认为singleTask是你想要的,但我仍然不清楚你在做什么.
“系统在新任务的根目录下创建活动并将意图路由到它.但是,如果活动的实例已经存在,系统会通过调用其onNewIntent()方法将意图路由到现有实例,而不是而不是创造一个新的.“
singleTask
@Override void onPause() { super.onPause(); finish(); }
dev docs:Acitvity Lifecycle
,Finish