标志意图的问题

时间:2012-07-17 20:00:41

标签: android task

在我的代码中,我有2个应用程序。 应用程序a启动应用程序b,就像启动器一样。

代码应用程序看起来像这样:

    Intent i = new Intent(Intent.ACTION_MAIN);
    PackageManager manager = getPackageManager();
    i = manager.getLaunchIntentForPackage("com.test.vayo");
    i.addCategory(Intent.CATEGORY_LAUNCHER);
    startActivity(i);
    finish();

应用B上的代码:

            Intent intent = new Intent(this.context, first.class);
            intent.setFlags(intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            context.startActivity(intent);
            finish();

我的问题是,只有在没有启动应用程序的情况下启动任务b b。因为我试图将已经运行的任务带到前面而不是从根目录启动所有活动,只是为了带回前面堆栈的秘密任务。 因为我正在使用FLAG_ACTIVITY_REORDER_TO_FRONT只有当我运行第一个应用程序b和应用程序a时才有效,但如果我运行a然后运行b它不起作用,则它从根活动开始b。

2 个答案:

答案 0 :(得分:0)

在清单文件中,对于B的启动器活动,声明

android:launchMode="singleTask"

您无需在B中执行任何操作。

答案 1 :(得分:0)

我在应用程序a上标记了一个标记,在应用程序b上标记了另一个标记

  intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);