我正在开发一个具有启动画面和用户登录的小应用程序。
我想根据用户 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”。希望这是有道理的,如果没有,请告诉我,以便我可以解释更多。谢谢!