回到之前的申请?

时间:2016-05-30 09:18:20

标签: android

我有两个应用程序,A&乙

Application A有一个service等待申请B进入前瞻。现在,当应用程序B进入前台时,A的服务调用执行特定任务的A的活动。

现在从A的这个活动开始,我想回到应用程序B,从那里我来到B的活动。

我现在正在尝试的是:

在使用中,

  String foregroundProcess = getForgroundProcessName();

现在,如果它与所需的流程匹配,我正在调用一个活动:

Intent intent = new     Intent(getApplicationContext(),ActivityOfApplicatinA.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                                intent.putExtra("foregroundProcess",foregroundProcess);

startActivity(intent);

现在,从此活动ActivityOfApplicatinA开始,我想返回应用B,其工作原理如下:

Intent intent = getIntent();
        name = intent.getStringExtra("foregroundProcess");

        Log.d(TAG, "The foreground process was:" + name);
        Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage(name);
        startActivity(LaunchIntent);
        finish();

我的方法的问题是我没有回到之前的应用程序状态B.它只是重新启动应用程序B.我不希望这种情况发生。我想用以前的状态打开应用程序B.

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

来自docs FLAG_ACTIVITY_REORDER_TO_FRONT

Intent LaunchIntent = m_context.getPackageManager().getLaunchIntentForPackage(packageNameOfAppB);
LaunchIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(LaunchIntent);

注意: 仅当应用程序B在活动历史记录stac k。

之前和之后启动时才有效