如何从上下文之外结束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
实现,而库模块没有对当前活动的引用?是否有相当于有限性的标志