如何从上下文之外结束android任务/关联?

如何从上下文之外结束android任务/关联?,android,asynchronous,android-task,Android,Asynchronous,Android Task,我正在从上下文之外开始一项新活动,因此我需要使用新任务,如下所示: Intent intent = new Intent(appContext, nextActivity); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); appContext.startActivity(intent); (这发生在一个独立的库模块中,因此解决方案不像“只需将代码移动到活动中”那么简单) 上述意图

我正在从上下文之外开始一项新活动,因此我需要使用新任务,如下所示:

Intent intent = new Intent(appContext, nextActivity);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
appContext.startActivity(intent);
(这发生在一个独立的库模块中,因此解决方案不像“只需将代码移动到活动中”那么简单)

上述意图对于开始新的活动非常有效,问题是,在此之前的当前活动仍然处于后台(现在成为旧任务)

用户不能从新任务返回到旧任务,因此如何销毁旧任务(以及其中包含的一个活动)

我没有在当前/旧活动上使用
nohistory
的选项,因为有两个流—一个让我们转到新任务,另一个转到旧任务中的其他活动

使用FLAG_ACTIVITY_CLEAR_TOP不起作用,因为这样会清除新任务,而不是旧任务


因为我觉得我一直很困惑,这里是一个关于流量如何发散的粗略说明:

                                                             -------------
                                                             | something |
                                                             |           |
                                                             |           |
-------------    -------------                          | => | old-task  |
| app start |    | current   |                          |    -------------
|           | => |           | => [Async Library Func] =|
| nohistory |    |           |                          |    -------------
| old-task  |    | old-task  |                          | => | newthing  |
-------------    -------------                               |           |
                                                             |           |
                                                             | new-task  |
                                                             -------------  
如果我们开始新任务,如何从异步库函数中取消/销毁/完成旧任务

这是否可以通过
finishafinity
实现,而库模块没有对当前活动的引用?是否有相当于有限性的标志