返回到上一个应用程序



我有以下两个应用程序,A和B。

Application A有一个等待申请B提前到来的service。现在,当应用程序 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,具有以前的状态。

请帮我解决这个问题。

来自文档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 之前和中启动时才有效

相关内容

最新更新