java - 删除除第一个以外的所有 Activity

标签 java android android-activity

我想对主页按钮进行编程,因此它将删除堆栈中的所有 Activities,除了一个。我在这里这样做:How to finish every activity on the stack except the first in Android

public boolean onOptionsItemSelected(MenuItem item) {
    int itemId = item.getItemId();
    switch (itemId) {
    case android.R.id.home:
        Intent intent = new Intent(this, AMainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(intent);
        break;
...

但这种方式不适合我,因为它会删除所有 Activities(包括第一个)并再次启动第一个。例如 - 如果我在 onCreate() 中检查用户密码,他会再次被询问。 如何从堆栈中删除所有 Activities,但第一个不会被“触及”?

最佳答案

将以下属性添加到 manifest.xml 中的 AMainActivity 的 Activity 标记。

android:launchMode="singleTop"

关于java - 删除除第一个以外的所有 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14758002/

相关文章:

java - 示例 hello-jni 上的 Android NDK java.lang.UnsatisfiedLinkError

android tabs - 开始一个新的 Activity

java - 基于云的应用程序作为 Java 后端和 Android 前端的 Restful 服务

java - 尝试更改 android 上的 Firebase 数据库中的值时循环

android - 在 Android 2.3.5 上,NullPointerException 当 enableForegroundDispatch(...)

java - 如何访问 2D 按钮阵列中的一个按钮? Java Swing

java - 即使存在外部数据库,DatabaseMetada.getImportedKey 也为空

java - 无法扩展 GCMIntentService 来修改 native Android 客户端的通知 View [Worklight 7.0 + Android]

android - 控制服务优先级

java - 进入新 Activity 时在后台运行应用程序