在Android中,我们可以使用TaskStackBuilder类来切换回先前的任务。以下是一个示例代码:
// 创建一个返还栈构造器
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
// 添加父Activity,即可回到在这个Activity之前的Activity
stackBuilder.addParentStack(PreviousActivity.class);
// 添加Intent,即可打开先前的Activity
stackBuilder.addNextIntent(intent);
// 获取PendingIntent并启动Activity
PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
pendingIntent.send();
在这个示例代码中,我们使用TaskStackBuilder类来创建一个返还栈构造器。接着,我们通过addParentStack()方法添加先前的Activity,并通过addNextIntent()添加用来打开该Activity的Intent。最后,我们使用getPendingIntent()方法来获取一个PendingIntent,并使用send()方法启动Activity。
需要注意的是,这个示例代码适用于我们需要返回到先前的Activity的情况。如果我们需要返回到先前的任务(即返回到先前正在运行的应用程序),我们可以使用以下代码:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClassName(packageName, className);
startActivity(intent);
在这个示例代码中,我们创建了一个Intent,用来启动先前正在运行的应用程序。我们使用了ACTION_MAIN和CATEGORY_LAUNCHER来确定这个Intent是启动一个应用程序的Intent。接着,我们设置className为先前正在运行的应用程序的名称,最后使用startActivity()方法来启动该Intent。
上一篇:Android切换到多个布局