Pau*_*ton 2 android android-activity android-task
我的应用程序有两个活动 A 和 B。A 是任务的根,并且是从启动图标启动的那个。B 可以从 A 开始。
除了从启动图标启动 A 之外,还可以通过单击另一个应用程序中的文件来启动 A,例如单击电子邮件附件或 Drive 中的文件。我通过向清单文件中的意图过滤器添加操作和类别来完成此操作。
我想让它在从另一个应用程序启动 A 时,而不是创建一个新任务,我希望现有任务恢复到与之前相同的状态。这可能是活动 A 或 B,无论用户在他们按下家之前碰巧在哪里。
我尝试了各种启动模式和意图标志,但似乎没有任何效果。
广播与清单中的启动器意图相同的意图:
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但这会引发现有任务而不是开始新任务。相比之下,以“官方”方式获得的启动器意图实际上会启动一个新任务:
Intent intent = context.getPackageManager()
.getLaunchIntentForPackage(context.getPackageName());
Run Code Online (Sandbox Code Playgroud)