如何在使用PHP按摩成功登录后打开Mainactivity?
登录成功后,我正在尝试打开Mainactivity如何在使用PHP按摩成功登录后打开Mainactivity?,php,android,login,Php,Android,Login,登录成功后,我正在尝试打开Mainactivity protected void onPostExecute(JSONObject result) { try { if (result != null) { Toast.makeText(getApplicationContext(),result.getString("message"),Toast.LENGTH_LONG).show(); } else {
protected void onPostExecute(JSONObject result) {
try {
if (result != null) {
Toast.makeText(getApplicationContext(),result.getString("message"),Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Unable to retrieve any data from server", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
来自PHP的消息:“成功登录”和“不正确的详细信息”
如果我改变:
protected void onPostExecute(JSONObject result) {
try {
if (result != null) {
Toast.makeText(getApplicationContext(), result.getString("message"), Toast.LENGTH_LONG).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
getApplicationContext().startActivity(i);
} else {
Toast.makeText(getApplicationContext(), "Unable to retrieve any data from server", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
成功或失败登录时,将进入MainActivity
有人帮我吗?根据您的代码,当结果对象不为空时,您将输入MainActivity。您应该为输入MainActivity添加更多条件,例如:
if (result != null && result.getString("result").equals("success"))
您只是在检查
结果
是否为空。您应该通过修改代码来检查登录的确切状态,如下面所示
if (result != null && result.optString("message", "failed").equals("Successfully logged in"))
即使“message”的值为空,使用optString
也会有好处
注意:您可以根据JSON结构修改代码。将if条件替换为以下条件
if (result != null && result.getString("message").contains("Successfully logged in"))
对不起,伙计,我错把你的答案改了。正在还原。请在github上查看此内容。它还使用两个应用程序中的登录和注册。
protected void onPostExecute(JSONObject result) {
try {
if (result.length() != 0) {
Toast.makeText(getApplicationContext(), result.getString("message"), Toast.LENGTH_LONG).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
} else {
Toast.makeText(getApplicationContext(), "Unable to retrieve any data from server", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}