Как мне конвертировать мой сервис для работы с AsyncTask? - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь преобразовать вещи, выполняемые в моем сервисе, в AsyncTask, чтобы сделать его лучше. Тем не менее, я новичок в этой концепции, и у меня возникли проблемы с ее настройкой (не зная, что и куда ставить). Эта услуга выполняется на onHandleIntent после нажатия кнопки из MainActivity.

часть, которая должна выполняться в doInBackground () (collectData () получает информацию об использовании данных о приложениях в телефоне):

    Utils.d("On Handle Inent Called -- Will collect Data");
    newStartTime = intent.getLongExtra("startTime",0);
    newEndTime = intent.getLongExtra("endTime",0);
    dataUsage = collectData();

часть, которая выполняется onPostExecute () (запускает новое действие, в котором перечислены приложения и их использование данных):

    isWifi = intent.getBooleanExtra("isWifi",true);
    Intent intentActivity = new Intent(this, DataDisplayActivity.class);
    intentActivity.putExtra("dataUsage",dataUsage.toString());
    intentActivity.putExtra("isWifi",isWifi);
    startActivity(intentActivity);

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 29 июня 2018
        new AsyncTask<Void, Void, Void>() {

            @Override
            protected Void> doInBackground(Void... params) {
                Utils.d("On Handle Inent Called -- Will collect Data");
                newStartTime = intent.getLongExtra("startTime",0);
               newEndTime = intent.getLongExtra("endTime",0);
               dataUsage = collectData();
               return null;
            }

            @Override
            protected void onPostExecute(Void void) {
                super.onPostExecute(showsForBucket);
                isWifi = intent.getBooleanExtra("isWifi",true);
                Intent intentActivity = new Intent(this, DataDisplayActivity.class);
                intentActivity.putExtra("dataUsage",dataUsage.toString());
                intentActivity.putExtra("isWifi",isWifi);
                startActivity(intentActivity);
            }
        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...