我正在开发一款具有启动画面和用户登录功能的小应用程序。
我想根据用户的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”的时间。希望它有意义,如果不是请请让我知道,以便我可以解释更多。谢谢!