我创建了一项活动,将其过滤器设置为主页活动,并将launchMode
设置为singleTask
。当我按下主页时,活动将处于暂停状态,然后是onStop。令我感到困惑的是,为什么从“主页选择”对话框中显示的图标返回时,活动将重新启动?它会在未调用onCreate()
的情况下再次调用onDestroy()
。
我知道有一种方法可以解决这个问题,即将launcherMode
设置为singleIstance
,但这种方式还不够好,因为它会导致另一个问题,即活动不会能够处理onActivityResult
。
答案 0 :(得分:0)
您可能想要告诉您希望实现的目标。因为这就是singleTask
的方式。它将现有意图提供给现有活动实例的onNewIntent()
。因此,活动不会被销毁,但会调用onCreate()
,因为它将使用现有意图重新创建活动。
系统在新任务的根目录下创建活动并将意图路由到该任务。但是,如果活动的实例已经存在,系统会通过调用onNewIntent()方法将意图路由到现有实例,而不是创建新实例。