java中的onresume_java – onActivityResult()之前调用onResume()?

2022-08-26 14:23:43 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

这里是我的应用程序布局:

> 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()。

在哪里是提示登录的最佳地点?

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144082.html原文链接:https://javaforall.cn

0 人点赞