android:noHistory和android:finishOnTaskLaunch之间的关系

时间:2014-03-10 19:48:39

标签: android android-activity android-manifest

这两个属性如何相关?如果我有android:noHistory="true"android:finishOnTaskLaunch="true"是否有任何意义/含义?

2 个答案:

答案 0 :(得分:24)

我们假设您的应用中有三项活动:A,B和C. 您启动应用程序并查看A,单击按钮并查看B,单击按钮并查看C.

第一种情况

现在,如果您按手机上的“后退”按钮,您将看到B.

第二种情况

我们说B有android:noHistory="true"。 现在,如果您按手机上的“后退”按钮,您将看到A. android:noHistory="true"属性从历史记录中删除了B(即活动堆栈),因此当您点击“返回”按钮时,您将看不到它。

第三种情况

我们说C有android:finishOnTaskLaunch="true"。 现在,如果您按手机上的“主页”按钮,然后再次启动该应用,则会看到B. Android再次启动应用时结束了C,因为它具有android:finishOnTaskLaunch="true"属性。

答案 1 :(得分:3)

当你转移到另一个任务时,

finishOnTaskLaunch会杀死Activity。但是如果你转到同一任务中的另一个活动,noHistory会杀死Activity