如何从其他应用程序恢复应用程序?

时间:2017-08-18 07:20:32

标签: android resume

实际上,我知道如何从其他应用程序启动应用程序。

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

例如, 有两个应用程序:A,B

  1. 首先从主屏幕启动两个应用程序。
  2. 从B应用程序再次启动应用程序。
  3. 应用程序重新启动而不是恢复。
  4. 我怎么能恢复它? 现在我这样做了。

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

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

2 个答案:

答案 0 :(得分:0)

当您致电ACTIVITY_REORDER_TO_FRONT时,您需要在意图上设置Context.startActivity()标记。

答案 1 :(得分:0)

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

以下是我在初始/启动活动的onCreate()中所做的事情:

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

    finish();
    return;
}