相关疑难解决方法(0)

Intent.FLAG_ACTIVITY_CLEAR_TASK与Intent.FLAG_ACTIVITY_TASK_ON_HOME之间的区别

从Android文档:

FLAG_ACTIVITY_CLEAR_TASK

如果在传递给Context.startActivity()的Intent中设置,则此标志将导致在活动开始之前清除与活动关联的任何现有任务.也就是说,活动成为否则为空任务的新根,并且任何旧活动都已完成.这只能与FLAG_ACTIVITY_NEW_TASK一起使用.

FLAG_ACTIVITY_TASK_ON_HOME

如果在传递给Context.startActivity()的Intent中设置,则此标志将使新启动的任务置于当前主活动任务(如果有)之上.也就是说,从任务中退回将始终将用户返回到主页,即使这不是他们看到的最后一个活动.这只能与FLAG_ACTIVITY_NEW_TASK一起使用.

考虑这两个片段:

Intent intent = new Intent(this, Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

Intent intent = new Intent(this, Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_TASK_ON_HOME);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

我理解的方式,在任何代码片段,我们创造它只有在活动是一项新的任务,而当你按下回你到主屏幕.假设我可能弄错了,两者之间有什么区别?另外,如果我有另一个片段,Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_TASK_ON_HOME | Intent.FLAG_ACTIVITY_CLEAR_TASK它会如何表现?

android android-intent

56
推荐指数
1
解决办法
4万
查看次数

标签 统计

android ×1

android-intent ×1