Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
清除android堆栈并始终在某些活动上启动应用程序_Android_Passwords_Android Activity_Stack - Fatal编程技术网

清除android堆栈并始终在某些活动上启动应用程序

清除android堆栈并始终在某些活动上启动应用程序,android,passwords,android-activity,stack,Android,Passwords,Android Activity,Stack,我有一个应用程序,它的密码保护,以阻止未经授权的访问数据 我要问的是: 当应用程序使用home按钮关闭,然后重新打开时,我需要它转到LoginActivity,我想我已经使用android:launchMode=“singleTask”对其进行了排序 但是如果我按下后退按钮,它会将我带回到菜单,而无需再次登录-因此它会绕过密码 您能提供帮助吗?在您的活动中,在按home键进入后台之前,设置一个用户已注销的标志或清除会话 然后在恢复活动时,检测用户标志是否仍然登录或会话是否仍然有效。如果无效。然后

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

我要问的是:

当应用程序使用home按钮关闭,然后重新打开时,我需要它转到LoginActivity,我想我已经使用android:launchMode=“singleTask”对其进行了排序

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


您能提供帮助吗?

在您的活动中,在按home键进入后台之前,设置一个用户已注销的标志或清除会话

然后在恢复活动时,检测用户标志是否仍然登录或会话是否仍然有效。如果无效。然后发送一个意图来打开您的登录活动

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);
     }
}

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

创建一个带有指示用户是否登录的标志的自定义应用程序类

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);
     }
}

谢谢你。你能帮我举一个可能需要的代码示例吗?