0

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

我想根据用户 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 {                                  

        }
    } 

登录活动.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 (我希望它是),但是即使用户有 ID == 也会跳过这个if 块“100”。希望这是有道理的,如果没有,请告诉我,以便我可以解释更多。谢谢!

4

0 回答 0