如何在Splash Activity中获取用户身份验证

时间:2012-11-13 02:32:43

标签: java android

我正在开发一款具有启动画面和用户登录功能的小应用程序。

我想根据用户的ID启动不同的标签菜单。

假设我有一个ID ==“100”的管理员将获得AdminTabActivity,其他人将获得UserTabActivity。所以我这样写了。我只是将用户ID从这里传递给MainActivity。

SplashActivity.java

public void run(){
        try{
        sleep(1000);
            Intent in = new Intent(getApplicationContext(), MainActivity.class);
            startActivity(in);  
            finish();

        } catch (InterruptedException e){
            e.printStackTrace();
        }finally {                                  

        }
    } 

LoginActivity.java

//Stores and Grabs the user ID from sqlite db
db.addUser(json_user.getString(KEY_ID), 
           json_user.getString(KEY_NAME));                                                 

Intent i = new Intent(getApplicationContext(), MainActivity.class);                 

    i.putExtra(KEY_ID, id);
    startActivity(i);

    finish();

MainActivity.java

Intent i = getIntent();
String id = i.getStringExtra(KEY_ID);

if("001".equals(id)){

    /* Launch Admin Screen if ID == 100 */

    Intent in = new Intent(getApplicationContext(), AdminTabActivity.class);           
    startActivity(in);          
    finish();

}else{

    /* Launch User Screen if ID !== 100 */

    Intent in = new Intent(getApplicationContext(), UserTabActivity.class);                        
    startActivity(in);      
    finish();

}

如果用户退出应用程序并返回,它将跳过LoginActivity并直接从Splash转到MainActivity(我想要它),但 if block 将跳过此即使用户具有ID ==“100”的时间。希望它有意义,如果不是请请让我知道,以便我可以解释更多。谢谢!

0 个答案:

没有答案