내 앱이 배치되는 방법은 다음과 같습니다.
- 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 () 전에 호출되므로 사용자가 성공적으로 로그인하면 onResume ()이 먼저 호출되기 때문에 내 주요 활동에 알림이 표시되지 않습니다.
로그인을 요구하는 가장 좋은 장소는 어디입니까?