這裏是我的應用程序是如何佈局:onActivityResult()之前調用onResume()?
- 的onResume()提示用戶登錄
- 如果在用戶登錄時,如果用戶在任何註銷,他可以繼續使用應用程式 3時間,我想再次提示登錄
我該如何做到這一點?
這裏是我的MainActivity:
@Override
protected void onResume(){
super.onResume();
isLoggedIn = prefs.getBoolean("isLoggedIn", false);
if(!isLoggedIn){
showLoginActivity();
}
}
這裏是我的LoginActivity:
@Override
protected void onPostExecute(JSONObject json) {
String authorized = "200";
String unauthorized = "401";
String notfound = "404";
String status = new String();
try {
// Get the messages array
JSONObject response = json.getJSONObject("response");
status = response.getString("status");
if(status.equals(authorized)){
Toast.makeText(getApplicationContext(), "You have been logged into the app!",Toast.LENGTH_SHORT).show();
prefs.edit().putBoolean("isLoggedIn",true);
setResult(RESULT_OK, getIntent());
finish();
}
else if (status.equals(unauthorized)){
Toast.makeText(getApplicationContext(), "The username and password you provided are incorrect!",Toast.LENGTH_SHORT).show();
prefs.edit().putBoolean("isLoggedIn",true);
}
else if(status.equals(notfound)){
Toast.makeText(getApplicationContext(), "Not found",Toast.LENGTH_SHORT).show();
prefs.edit().putBoolean("isLoggedIn",true);
}
} catch (JSONException e) {
System.out.println(e);
} catch (NullPointerException e) {
System.out.println(e);
}
}
}
用戶在成功登錄後:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
Toast.makeText(getApplicationContext(), "BOOM SHAKA LAKA!",Toast.LENGTH_SHORT).show();
}
}
的問題是,的onResume()在onActivityResult()之前被調用,所以當用戶成功登錄時,我的主要活動不會得到noti因爲onResume()首先被調用。
哪裏是最好的地方提示登錄?
我在用戶登錄後設置isLoggedIn。查看我更新的代碼。不知道什麼是錯的? – 2010-11-23 06:18:02