benim app nasıl yerleştirildiğine bağlı olduğu:OnResume() onActivityResult() işlevinden önce mi çağrıldı? İşte
- onResume() kullanıcı giriş istenir
- Eğer kullanıcı günlükleri, kullanıcı herhangi dışarı oturum açıyorsa o uygulamayı 3. kullanmaya devam edebilirsiniz zaman, yeniden giriş istemek istiyorum
Bunu nasıl başarabilirim?) (
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
Toast.makeText(getApplicationContext(), "BOOM SHAKA LAKA!",Toast.LENGTH_SHORT).show();
}
}
sorun, onResume geçerli: Kullanıcı başarıyla oturum açtıktan sonra
@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);
}
}
}
: Burada
@Override
protected void onResume(){
super.onResume();
isLoggedIn = prefs.getBoolean("isLoggedIn", false);
if(!isLoggedIn){
showLoginActivity();
}
}
benim LoginActivity: İşte
benim MainActivity olduğunu onActivityResult() öğesinden önce çağrılır, böylece kullanıcı başarıyla oturum açtığında ana etkinliğim not almaz çünkü onResume() önce çağrılır.
Giriş yapmak için en uygun yer neresi?
Kullanıcı giriş yaptıktan sonra 'ınLoggedIn ayarını yaptım. Güncellenmiş koduma bakın. Neyin yanlış olduğundan emin değil misiniz? –
haklısınız, onActivityResult() onResume() öğesinden önce çağrılıyor. Prefs'imin neden yanlış okunabileceğinden emin değil misin? –
, putBoolean'ımdan sonra bir commit() ekledi. Hile yaptı. –