android студия AsyncTask не работает и context.fini sh вылетает - PullRequest
0 голосов
/ 28 апреля 2020

Я новичок в android и пытаюсь использовать AsyncTask для получения соединения с mysql с сервера

protected void onPostExecute(String result) {


    if(result.equalsIgnoreCase("true"))
    {

         Intent intent = new Intent(context,profile.class);
        //not usefull
        //intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
        ((Activity)context).finish();
        Toast.makeText(context, "done", Toast.LENGTH_LONG).show();

    }else //..... the rest of the code .....//
}

все работает нормально, но когда результат верен, он не ' t намерение к новому действию
и с помощью ((Activity)context).finish(); будет обработано sh
приложение всегда будет выполнено

context определено Context context, я получил его значение от MainActivity, набрав this

1 Ответ

1 голос
/ 28 апреля 2020

Использование this является ссылкой на действие, я думаю, что вы должны ссылаться на application context, чтобы начать действие.

if(result.equalsIgnoreCase("true"))
{


Intent intent = new Intent(context.getApplicationContext(),profile.class);

context.getApplicationContext().startActivity(intent);

((YourActivityName)context).finish();

Toast.makeText(context, "done", Toast.LENGTH_LONG).show();



}else //..... the rest of the code .....//
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...