Java 以不同的方式启动应用程序;上下文“;

Java 以不同的方式启动应用程序;上下文“;,java,android,android-intent,Java,Android,Android Intent,首先,很抱歉问题标题中的“上下文”,我不知道该用哪个词。我通过单击另一个应用程序的URL成功地启动了我的应用程序,但当我启动任务管理器时,我意识到我的应用程序实际上没有加载:调用方应用程序保存活动。我想知道如何: 在另一个“上下文”中启动我的应用程序(对不起,再说一遍,哪个更好?) 能够在我的应用程序已经加载的情况下重新加载它(类似于重新启动它) 非常感谢。您可以通过将AndroidManifest.xml中的“launchMode”属性设置为“singleTask”或“singleInst

首先,很抱歉问题标题中的“上下文”,我不知道该用哪个词。我通过单击另一个应用程序的URL成功地启动了我的应用程序,但当我启动任务管理器时,我意识到我的应用程序实际上没有加载:调用方应用程序保存活动。我想知道如何:

  • 在另一个“上下文”中启动我的应用程序(对不起,再说一遍,哪个更好?)
  • 能够在我的应用程序已经加载的情况下重新加载它(类似于重新启动它)

非常感谢。

您可以通过将AndroidManifest.xml中的“launchMode”属性设置为“singleTask”或“singleInstance”来修改行为,这两种属性都会导致您的活动被创建为新任务的根。但是,如果活动已经存在,它不会重新启动该活动,而是应该处理
Activity.onNewIntent(Intent-Intent)
回调


要了解有关launchMode的更多信息,请参见此处:

除了Kai提到的
launchMode
,您可能还需要查看和,具体取决于您的应用程序的结构

这是其中的一段摘录,似乎与您描述应用程序的方式相符:

例如,如果电子邮件包含指向网页的链接,则单击该链接会显示一个可以显示该网页的活动。该活动由浏览器应用程序定义,但作为电子邮件任务的一部分启动。如果将其重新出租给浏览器任务,则当浏览器下一个出现在前面时,它将显示出来,当电子邮件任务再次出现时,它将消失