我有一个启动异步任务的活动,该任务监听来自服务器的消息。当用户点击主页按钮时,活动暂停,异步任务继续在后台运行。当某条消息到达时,我希望该活动恢复并来到最前面而不被重新创建。我尝试了以下方法。
android:launchMode="singleTop"
intent = new Intent(getBaseContext(), MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
这会将活动带到最前面,但会重新启动活动。
我也试过
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
但这些都没有将活动推向前台。
恢复应用程序的正确标志是什么,例如如果我从主屏幕重新启动它会发生什么。