我有一个应用程序,它受密码保护以阻止未经授权的数据访问。清除android堆栈并始终在某些活动上启动应用程序
我要问的是:
当应用程序使用home键关闭,然后重新打开我需要它去LoginActivity,我想我已经整理本采用了android:launchMode =“singleTask”
但是,如果我按下后退按钮,它将我带回菜单而不需要再次登录 - 因此它会绕过密码?
你能帮忙吗?
我有一个应用程序,它受密码保护以阻止未经授权的数据访问。清除android堆栈并始终在某些活动上启动应用程序
我要问的是:
当应用程序使用home键关闭,然后重新打开我需要它去LoginActivity,我想我已经整理本采用了android:launchMode =“singleTask”
但是,如果我按下后退按钮,它将我带回菜单而不需要再次登录 - 因此它会绕过密码?
你能帮忙吗?
在您的活动中,在通过按回家进入背景之前,设置用户已注销或清除会话的标志。
然后onResume您的活动,检测用户的标志是否仍然登录或会话仍然有效。如果无效。然后发送一个意图打开您的登录活动。
因此,即使您按回,恢复的活动将验证用户是否仍然登录或会话仍然有效。
创建一个标志,指示用户是否登录的自定义应用程序类。
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);
}
}
谢谢你。你能帮助一个可能需要的代码示例吗? –