2014-03-27 76 views
0

我有一个应用程序,它受密码保护以阻止未经授权的数据访问。清除android堆栈并始终在某些活动上启动应用程序

我要问的是:

当应用程序使用home键关闭,然后重新打开我需要它去LoginActivity,我想我已经整理本采用了android:launchMode =“singleTask”

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

你能帮忙吗?

回答

0

在您的活动中,在通过按回家进入背景之前,设置用户已注销或清除会话的标志。

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

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

+0

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

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); 
    } 
} 
相关问题