Как запустить мое приложение в фоновом режиме, которое постоянно получает данные с сервера через Asynctask и обновляет класс адаптера - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть основной класс активности в android с видом переработчика. Класс постоянно получает данные с сервера через Asynctask в потоке и обновляет представление обработчика, а также отправляет уведомление о тревоге. Но когда моя деятельность разрушается, поток Asynctask останавливается. Как я могу использовать сервис android для запуска этого приложения в фоновом режиме? Я имею в виду, поскольку мой текущий класс расширяет AppCompat. Если я запускаю startService (Intent) моего основного класса из класса обслуживания, это не работает. Должен ли я вызывать функцию моего основного класса из класса обслуживания непрерывно в потоке? Общая структура класса ниже:

    class MainActivity extends AppCompatActivity
    {
        startService(new Intent(this, MyService.class);

    // Some code...
       Thread 
       {
        Async function();
       }

       AsyncTask class
       {
        Async function()
        {
         if(some value)
         {
          notifyThis();  // create notification
          onItemchanged(position);   // notify recyclerview adapter for item value change
         }    
        }
       }
    }


class MainActivity extends Recyclerview
{
// some code...
}

class MyService extends Service {
  @Override
  public void onCreate() {
  }

  @Override
  public void onStart(Intent intent, int startId) {
    startActivity(new Intent(this, MainActivity.class);
  }

  @Override
  public IBinder onBind(Intent intent) {
    return null;
  }
}
...