У меня есть функция AppHelper.isOnline(Context context)
, я вызываю различные части своего приложения, чтобы проверить, что сеанс не истек. перед выполнением HTTP-запроса.
public void onClick(View v) {
Intent intent = null;
switch (v.getId()) {
case R.id.buttonPagamenti:
if (AppHelper.isOnline(this))
{
//here AppHelper.isOnline should have finished it's async task
intent = new Intent(this, OrdineCreaActivity.class);
this.startActivityForResult(intent, R.id.buttonPagamenti);
}
break;
...
Внутри AppHelper.isOnline()
я выполняю AsyncTask
, которая входит в систему, тем самым выполняя сетевой запрос, который не может быть запущен в пользовательском интерфейсе, потому что в противном случае я получаю исключение. Мне нужно дождаться его завершения, прежде чем возобновить работу с кодом внутри if. Как я могу это сделать ?
Проблема заключается в том, что сначала запускается действие, затем выполняется AsyncTask
, поэтому, когда действие ожидает действительный сеанс входа в систему, оно прерывается.