我发送了一项任务(活动)以返回:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
moveTaskToBack(true);
}
但我需要通过小部件中的 setOnClickPendingIntent 将其放在前面。
只需像这样启动应用程序的主要(根)活动:
Intent intent = new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
如果活动已经在任务中运行,这只会将该任务带到前台(而不创建活动的任何新实例)。如果该活动尚未运行,那么这将启动一个以该活动为根的新任务。
在我的情况下,FLAG_ACTIVITY_NEW_TASK 没用。尽管任务中存在活动,但它会重新创建活动。
但是单任务启动模式效果很好。