我有意图标志FLAG_ACTIVITY_NEW_TASK
的情况情景
我有一项启动活动的服务。我的android服装应用程序使用此服务。当我启动活动时,我按照Android操作系统的要求指定FLAG ACTIVITY NEW TASK标志(当你从服务中调用一个活动时,有必要应用NEW TASK标志)。
Intent intent = new Intent(this, GoodOlActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
据说我的应用程序已在运行,我访问我的服务并启动GoodOlActivity,它将在任务堆栈的顶部启动(由于亲密关系,将不会创建新的任务)。如果我继续启动此活动,它将继续在任务堆栈上创建副本。
据说我的应用程序不在历史堆栈中,我已按下并删除它。在这种情况下,用户使用android磨损应用程序并调用该服务。该服务反过来调用GoodOlActivity。好的 。但是,随后GoodOlActivity永远不会启动,仍然是任务堆栈中唯一的活动。
我相信在第一种情况下,由于新任务实际上并未创建,因此多个活动在另一个上面启动。原因是存在目标活动的任务。
然而,在第二种情况下,创建了一个新任务,因此其中的约束发挥作用。约束条件是,如果某个活动已经在任务堆栈中,那么该活动就会被带到前台。
两个场景(一个用于运行应用程序,另一个用于刷出)应该是相同的。我应该可以多次运行GoodOl。 Helppp?