如何从另一个应用程序恢复应用程序?



实际上,我知道如何从另一个应用程序启动应用程序。

问题是,从主屏幕启动应用程序后,当我从另一个应用程序启动它时,应用程序总是重新启动而不是恢复。(我的意思是应用程序首先通过按主屏幕的快捷方式运行(

例如 有两种应用:A,B

  1. 首先从主屏幕启动两个应用程序。
  2. 从 B 应用程序再次启动 A 应用程序。
  3. 应用程序将重新启动而不是恢复。

我怎样才能恢复它? 现在我这样做如下。

Intent intent = getPackageManager().getLaunchIntentForPackage(PACKAGE);
intent.setAction(ACTION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);

操作是自定义操作。 请帮忙。

您可以在启动初始活动的意图中检查Intent.CATEGORY_LAUNCHER类别和Intent.ACTION_MAIN操作。 如果存在这两个标志并且活动不在任务的根目录下(即 应用程序已经在运行(,然后我在初始活动上调用 finish((。确切的解决方案可能不适合您,但类似的东西应该。

以下是我在初始/启动活动onCreate()所做的工作:

if (!isTaskRoot()
&& getIntent().hasCategory(Intent.CATEGORY_LAUNCHER)
&& getIntent().getAction() != null
&& getIntent().getAction().equals(Intent.ACTION_MAIN)) {
finish();
return;
}

调用 Context.startActivity(( 时,您需要在 Intent 上设置 ACTIVITY_REORDER_TO_FRONT 标志。

最新更新