Как открыть Mainactivity после успешного входа в систему с помощью PHP массажа? - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь открыть Mainactivity после успешного входа в систему

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. Кто-нибудь, помогите мне

Ответы [ 4 ]

0 голосов
/ 16 ноября 2018
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();
        }
    }
0 голосов
/ 16 ноября 2018

Вы просто проверяете, является ли result нулевым или нет.Вы должны проверить точный статус входа в систему, изменив свой код следующим образом.

if (result != null && result.optString("message", "failed").equals("Successfully logged in"))

Использование optString пойдет на пользу, даже если значение «message» равно нулю.

ПРИМЕЧАНИЕ: Вы можете изменить код на основе вашей структуры JSON.

0 голосов
/ 16 ноября 2018

Замените условие if на условие ниже.

  if (result != null && result.getString("message").contains("Successfully logged in"))
0 голосов
/ 16 ноября 2018

Исходя из вашего кода, вы введете MainActivity, когда результирующий объект не равен нулю. Вы должны добавить больше условий для входа в MainActivity, например:

if (result != null && result.getString("result").equals("success"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...