清除Android堆栈并始终启动某些活动的应用程序

时间:2014-03-27 09:14:31

标签: android passwords android-activity stack

我有一个应用程序密码保护,以阻止未经授权的数据访问。

我需要问的是:

当使用主页按钮关闭app时,然后重新打开我需要它去LoginActivity,我想我已经使用android对它进行了排序:launchMode =" singleTask"

但是,如果我按下后退按钮,它会将我带回菜单而无需再次登录 - 所以它会绕过密码?

你能帮忙吗?

2 个答案:

答案 0 :(得分:0)

在您的活动中,在按回到主屏幕之前,设置用户已注销的标记或清除会话。

然后onResume您的活动,检测用户的标志是否仍然登录或者会话是否仍然有效。如果无效。然后发送打开登录活动的意图。

因此,即使您按下,恢复的活动也将验证用户是否仍然登录或会话仍然有效。

答案 1 :(得分:0)

使用指示用户是否已登录的标志创建自定义应用程序类。

public class MyApplication extends Application {
    boolean loggedIn;
}

在您的活动中,您可以检查用户是否已登录。如果不是,请将其返回登录活动。

protected void onCreate(Bundle savedInstanceState) {
     MyApplication app = ((MyApplication) getApplicationContext());
     if (!app.loggedIn) {
         Intent intent = new Intent(this, LoginActivity.class);
         //go to old activity
         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         startActivity(intent);
     }
}