从android中的任务管理器堆栈中删除活动

时间:2016-01-20 12:16:30

标签: android xml android-studio activity-lifecycle android-recents

我正在开发 Android 应用程序。当我的应用程序运行并按下手机上的最近应用程序按钮时,将调用Activity的 onPause()方法。在 onPause 内,我打电话给完成()。所以活动被破坏了。

但它在最近的应用程序列表中仍然可见。

当我从 onPause()中销毁我的活动时,如何确保它未列在最近的应用程序列表中。

4 个答案:

答案 0 :(得分:6)

尝试

<activity android:name=".MainActivity"
        android:excludeFromRecents="true" ...>
AndroidManifest.xml活动声明中的

official documentation获得更多

  

是否应排除此活动启动的任务   来自最近使用的应用程序列表(&#34;最近的应用程序&#34;)。那是,   当此活动是新任务的根活动时,此属性   确定任务是否不应出现在最近的列表中   应用。设置&#34; true&#34;如果任务应从列表中排除;组   &#34;假&#34;如果它应该包括在内。默认值为&#34; false&#34;。

如果要在启动时为Activity创建特殊属性,则为Intent提供特殊标志。在这种情况下,FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS。

浏览link

答案 1 :(得分:0)

原因可能是因为只有您的活动被销毁而不是Application实例。 Android等待可能是用户再次打开应用程序。 要完全终止应用程序,您可以使用 对于上述API 16 this.finishAffinity()

它将完成当前活动以及其下的所有其他活动。正如医生所说

  

完成此活动以及紧接其下的所有活动   具有相同亲和力的当前任务

答案 2 :(得分:0)

使用finishAndRemoveTask()而不是finish()或finishAffinity()

答案 3 :(得分:0)

使用

finish();

当您转到下一个活动时,最近的活动就结束了