【发布时间】:2012-06-21 18:08:23
【问题描述】:
每次调用 onRestart 时我都需要重新验证用户凭据(通常这意味着用户已锁定和解锁屏幕或将其置于后台然后返回)。
所以我这样做了:
@Override
protected void onRestart() {
super.onRestart();
Intent intent = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(LoginActivity.REAUTHENTICATE);
startActivity(intent);
}
这可行,LoginActivity 被显示,但是当它完成时,第一个 Activity 的 onRestart 被再次调用,LoginActivity 被再次打开。
我该如何处理?
【问题讨论】:
-
应该有一些变量来让用户通过身份验证...。意味着一些像它的会话是有效的?
-
Dheeresh,有一个标志表明它,但客户端希望用户完全重新验证 onRestart。
-
使用startActivityForResult,在打开LoginActivity之前调用onActivityResult(就在onRestart之后)
-
当前活动是否有启动模式单实例?
标签: android android-activity lifecycle android-lifecycle activity-lifecycle