首页 文章

标记为“SingleTask”的活动提出

提问于
浏览
2

我试图围绕Android的Activity启动模式的不同选项(参见文档:Tasks and Back Stack

根据文档,在启动标记为“singleTask”的活动时:

“...相反,要么为浏览器启动新任务,要么如果浏览器已经在后台运行任务,那么该任务将被提前处理新意图 . ”

根据描述singleTask的方式,创建新任务,或者,如果活动已经存在于某个其他任务中,则该任务被提前 .

如果浏览器活动的实例(例如)已存在于我的应用程序活动的同一任务(堆栈)中(但不在前台),会发生什么?怎么提出来的?这在文档中没有描述 .

2 回答

  • 0

    您询问:

    如果浏览器活动的实例(例如)已存在于我的应用程序活动的同一任务(堆栈)中(但不在前台),会发生什么?怎么提出来的?这在文档中没有描述 .

    浏览器活动的实例(使用您的示例)不可能存在于您应用的任务堆栈中,因为 Activity 已使用 singleTask 启动模式定义,并且与您应用中的其他活动具有不同的 taskAffinity . 因此,每当启动浏览器活动时,它将始终启动到自己的任务中,而不是启动到您的任务中 .

  • 1

    "SingleTask" - 系统在新任务的根目录下创建活动,并将意图路由到该任务 . 但是, if an instance of the activity already exists, the system routes the intent to existing instance 通过调用其onNewIntent()方法,而不是创建一个新方法 .

    注意:SingleTask和SingleInstance用于专门的启动 . 不建议用于一般用途

    来自此链接http://developer.android.com/guide/topics/manifest/activity-element.html

相关问题