我有一个Android活动问题。
以下是我的流程的工作原理:
Login Activity
开始MainMenuActivity
启动,LoginActivity由我完成。MainMenuActivity
没有完成。因为它是主菜单。当用户在设置屏幕上按下后面我需要返回MainMenuActivity
。所以我不能杀死MainMenu
。SettingsActivity
由我完成,登录活动开始。当用户返回登录时,我需要杀死MainMenuActivity
,但我不能。:/FLAG_ACTIVITY_SINGLE_TOP
,CLEAR_TOP
,SINGLE_TASK
,NEW_TASK
,NO_HISTORY
等。几乎所有人都没有工作launchMode="singleTask"
和clearTaskOnLaunh="true"
两个,没有用有人可以帮忙吗?
P.Sazxsww poi和qazxsw poi为我的应用程序。我没有在应用程序中使用片段,我使用旧的活动结构。
我建议开始结果的设置活动(参见addFlags()
),当用户请求注销时,相应地设置结果。您将在MainActivity的onActivityResult中获得此结果(请参阅setFlags()
)并可以在那里处理注销,在启动loginActivity之前完成mainActivity。
使用这样的两个标志的组合:
android:minSdkVersion="8"
这将删除所有其他活动并启动此活动。
试试这个。
对于api级别<11
android:targetSdkVersion="15"
我建议您在启动主菜单时不要完成here活动。然后,您可以通过执行以下操作清除所有注销活动:
here
这仅在Intent intent = new Intent(this, Login.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
活动在任务堆栈的根(开始)处仍处于活动状态时才有效。
为了防止用户从i.addFlag(Intent.FLAG_ACTIVITY_NO_HISTORY |
Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
活动返回Login
活动,您可以在 Intent intent = new Intent(this, Login.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
活动中覆盖Login
并执行其他操作。
像这样使用FLAG_ACTIVITY_CLEAR_TOP-
Login
Main