这两个属性如何相关?如果我有android:noHistory="true"
,android:finishOnTaskLaunch="true"
是否有任何意义/含义?
答案 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
。