杀死所有活动后如何注销?
How to logout after killing all activities?
在我的应用程序上,我有以下过程来登录用户:
用户在 MainActivity
上输入其凭据并使用该导航代码重定向到 HomeActivity
:
Intent accueilIntent = new Intent(getApplicationContext(), HomeActivity.class);
accueilIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_NEW_TASK);
finish();
startActivity(accueilIntent);
当用户在 HomeActivity
上时,他可以通过注销按钮注销。由于事件被触发,我想终止所有活动并将用户重定向到登录名 activity (MainActivity
)。因此,事件触发的代码如下:
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
用户被很好地重定向到 MainPage
。然后,当我按主页按钮返回 Android 主屏幕,然后返回应用程序时,右侧 MainActivity
出现。但是,当我按原生后退按钮 return 到 android 主屏幕,然后返回应用程序时, HomeActivity
出现(之前应该销毁的那个)并且不是 MainActivity
.
有谁能告诉我为什么在这种情况下我要回到 HomeActivity
而不是 MainActivity
?
1] 在 startActivity()
之前添加 finish()
2] 添加 FLAG_ACTIVITY_NO_HISTORY
标志。
Intent intent = new Intent(mContext, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
如果您希望用户在 HomeActivity 上按下后退按钮时返回到 MainAcitvity,则 HomeActivity 的父级应该是 MainActivity。
在您的 manifest.xml 文件中,在 HomeActivity 的标签中添加:
<activity
android:name=".HomeActivity"
android:parentActivityName=".MainActivity" >
....
</activity>
在我的应用程序上,我有以下过程来登录用户:
用户在
MainActivity
上输入其凭据并使用该导航代码重定向到HomeActivity
:Intent accueilIntent = new Intent(getApplicationContext(), HomeActivity.class); accueilIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); finish(); startActivity(accueilIntent);
当用户在
HomeActivity
上时,他可以通过注销按钮注销。由于事件被触发,我想终止所有活动并将用户重定向到登录名 activity (MainActivity
)。因此,事件触发的代码如下:Intent intent = new Intent(this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent);
用户被很好地重定向到
MainPage
。然后,当我按主页按钮返回 Android 主屏幕,然后返回应用程序时,右侧MainActivity
出现。但是,当我按原生后退按钮 return 到 android 主屏幕,然后返回应用程序时,HomeActivity
出现(之前应该销毁的那个)并且不是MainActivity
.
有谁能告诉我为什么在这种情况下我要回到 HomeActivity
而不是 MainActivity
?
1] 在 startActivity()
finish()
2] 添加 FLAG_ACTIVITY_NO_HISTORY
标志。
Intent intent = new Intent(mContext, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
如果您希望用户在 HomeActivity 上按下后退按钮时返回到 MainAcitvity,则 HomeActivity 的父级应该是 MainActivity。
在您的 manifest.xml 文件中,在 HomeActivity 的标签中添加:
<activity
android:name=".HomeActivity"
android:parentActivityName=".MainActivity" >
....
</activity>