我正在为Android创建一个浏览器,我希望复制我的Activity以创建具有相同活动的新多任务任务。
Intent intent=new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(intent);
这是我的代码,请帮忙。 感谢
答案 0 :(得分:1)
使用此替换标志new_task with new_document
Intent intent = new Intent(this,MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT | Intent.FLAG_ACTIVITY_MULTIPLE_TASK); startActivity(意向);
答案 1 :(得分:1)
有两种方法可以做到这一点。两者都在Android的Recents Screen guide中得到了很好的描述。
第一种方法是使用意图标志:
final Intent newDocumentIntent = new Intent(this, NewDocumentActivity.class);
newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(newDocumentIntent);
第二种方法是使用<activity>属性android:documentLaunchMode。
答案 2 :(得分:0)
FLAG_ACTIVITY_MULTIPLE_TASK
此标志用于创建新任务并在其中启动活动。 此标志始终与FLAG_ACTIVITY_NEW_DOCUMENT或 FLAG_ACTIVITY_NEW_TASK。在这两种情况下,这些标志都会搜索 通过匹配此Intent的现有任务。只有没有这样的 找到任务将创建一个新任务。配对时 FLAG_ACTIVITY_MULTIPLE_TASK将这两种行为都修改为 跳过搜索匹配任务并无条件启动新任务 任务。与FLAG_ACTIVITY_NEW_TASK一起使用时,请勿使用此标志 除非您正在实现自己的顶级应用程序启动器。 与FLAG_ACTIVITY_NEW_TASK结合使用以禁用 将现有任务带到前台的行为。设置时,a 始终开始新任务来托管Intent的Activity, 无论是否已经存在运行的任务 同样的事情。
由于默认系统不包含图形任务管理, 除非您为用户提供某种方式,否则不应使用此标志 返回到已启动的任务。看到 FLAG_ACTIVITY_NEW_DOCUMENT,了解此标志用于创建的详细信息 新文件任务。
<强>&GT;如果其中一个为FLAG_ACTIVITY_NEW_TASK或,则忽略此标志 FLAG_ACTIVITY_NEW_DOCUMENT也未设置。
FLAG_ACTIVITY_NEW_DOCUMENT
此标志用于将文档打开到以root为根的新任务中 此意图启动的活动。通过使用这个标志,或其 等效属性,documentLaunchMode的多个实例 包含不同文件的相同活动将在最近出现 任务清单。
使用documentLaunchMode的activity属性形式是 优于此处描述的Intent标志。属性表单 允许Activity为所有人指定多个文档行为 Activity的启动器,而使用此标志需要每个Intent 启动Activity以指定它。
请注意此标志w.r.t的默认语义。是否 在活动结束后保留最近的条目 不同于使用FLAG_ACTIVITY_NEW_TASK和 documentLaunchMode - 如果此标志用于创建新标志 最近条目,然后默认情况下,该条目将被删除一次 活动结束了。您可以使用修改此行为 FLAG_ACTIVITY_RETAIN_IN_RECENTS。