スプラッシュ画面とユーザーログインを備えた小さなアプリに取り組んでいます。
ユーザーのIDに基づいて異なるタブメニューを起動したい。
ID == "100"の管理者がAdminTabActivityを取得し、残りの管理者がUserTabActivityを取得するとします。だからこう書いた。ここからMainActivityにユーザーIDを渡すだけです。
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(私が望む)に直接移動しますが、ユーザーがID ==を持っている場合でも、ifブロックは今回スキップします「100」。それが理にかなっていることを願っていますが、そうでない場合は、詳細を説明できるようにお知らせください。ありがとうございました!