Как остановить IntentService? - PullRequest
7 голосов
/ 31 марта 2011

Я использую IntentService для обработки больших загрузок файлов в моем приложении.Но когда я хочу отменить загрузку, я звоню stopService(intent).Однако метод onDestroy() был вызван, но загрузка не останавливается.Что еще мне нужно сделать, чтобы отменить загрузку?Спасибо.

1 Ответ

8 голосов
/ 25 апреля 2011

Я сам этого не понял, но отправляю Intent с:

intent.putExtra("pause", "yes");
startService(intent);

А затем я переопределяю public int onStartCommand(Intent intent, int a, int b) внутри IntentService (что не рекомендуется) и, увидев, что "пауза" равна "да", я установил для статического логического значения mPaused значение true. Если у вас есть цикл в onHandleIntent, добавьте && !mPaused в условие цикла.

Конечно, это все «плохой» код и взлом… но я надеюсь, что кто-то еще вмешивается в правильный способ сделать это.

...