我目前正在构建一个需要身份验证的 ICS 4.0+ Android 应用程序。我遇到的问题是在以下情况下处理登录状态检查:
- 用户首次打开应用
- 用户关闭(恢复)后返回应用
我正在寻找的行为是,如果应用程序从内存中删除并重新打开,则会出现“正在加载...”启动画面,然后当用户在恢复时返回应用程序时(仍在内存中),会出现几乎不明显的启动画面.
我目前用于检查的代码是:
public static void checkUserStatus(Context context, boolean isPassive) {
Log.d(TAG, "Checking user status..");
// User is logged in and has cc
if ( APIUtil.isLoggedIn() && UserAccount.getCreditCards().size() > 0 && isPassive == false) {
Intent intent = new Intent(context, OtherActivity.class);
context.startActivity(intent);
// User is logged in but has no cc
} else if (APIUtil.isLoggedIn() && UserAccount.getCreditCards().size() == 0) {
Intent intent = new Intent(context, ManageCCActivity.class);
context.startActivity(intent);
// User is not logged in
} else if(isPassive == false) {
Intent intent = new Intent(context, HomeActivity.class);
context.startActivity(intent);
}
}
在每个活动的 onResume() 中调用 checkUserStatus。这个想法是它会检查并相应地重定向,但行为古怪且不一致,而且感觉很笨拙。
那里有身份验证流程的示例吗?想法?建议?