Android标志\活动\新任务被忽略
是否存在忽略标志\活动\新\任务的情况?我从一个服务启动一个活动,目的是设置该标志,当主活动在后台时,我希望在新任务中看到新活动,因此当我关闭新活动时,我希望在后台再次看到应用程序。 它不会发生,并且显示了主要活动 为了进行测试,我尝试将主活动设置为singleInstance,在这种情况下它可以工作。但我不想将主活动设置为singleInstance 你知道这什么时候会发生吗Android标志\活动\新任务被忽略,android,android-activity,task,Android,Android Activity,Task,是否存在忽略标志\活动\新\任务的情况?我从一个服务启动一个活动,目的是设置该标志,当主活动在后台时,我希望在新任务中看到新活动,因此当我关闭新活动时,我希望在后台再次看到应用程序。 它不会发生,并且显示了主要活动 为了进行测试,我尝试将主活动设置为singleInstance,在这种情况下它可以工作。但我不想将主活动设置为singleInstance 你知道这什么时候会发生吗 我应该补充一点,我在所有设备上都看到了这种行为,因此看起来这是它应该工作的方式,而不是特定于设备的问题。我修复了它,为
我应该补充一点,我在所有设备上都看到了这种行为,因此看起来这是它应该工作的方式,而不是特定于设备的问题。我修复了它,为第二个活动设置了不同的关联性。问题在于,关于FLAG_ACTIVITY_NEW_TASK标志的文档说明: 如果设置,此活动将成为此历史堆栈上新任务的开始 但这是一种误导,因为听起来框架总是会创建一个新任务,而当活动从服务启动时,情况并非如此 这是有关活动的taskaffinity属性的文档: android:taskAffinity 活动与之有关联的任务。具有相同亲缘关系的活动在概念上属于相同的任务(从用户的角度来看属于相同的“应用程序”)。任务的关联性由其根活动的关联性决定。 亲缘关系决定了两件事—活动重新设置为父级的任务(请参见allowTaskReparenting属性)和使用标志\u activity\u NEW\u task标志启动活动时将容纳该活动的任务
因此,如果您从活动调用startActivity,则会启动一个新任务,但如果您从服务启动它,框架将活动附加到具有相同亲缘关系的任务(如果顶部活动不是单实例存在)正在启动的活动是单实例或单任务的另一种情况。