Как запустить службу независимо от основного потока, когда мое приложение видно? - PullRequest
0 голосов
/ 13 марта 2012

Я пытаюсь проанализировать xml из какого-либо источника и сохранить результаты в базе данных в службе, которая является службой, основанной на сигналах тревоги, которая работает каждый день в 6 часов утра и работает нормально, когда мое приложение не отображается или находится в фоновом режиме, но когда он виден и служба пытается проанализировать зависание приложения xml (в 6 утра), и через некоторое время я получаю исключение ANR.

Thanx.

Ответы [ 2 ]

3 голосов
/ 13 марта 2012

Используйте IntentService вместо Service класса, который в Android работает в отдельном потоке, как показано ниже:

    public class BackgroundService extends IntentService {

    public BackgroundService() {
        super("BackgroundService");
    }

    @Override
    protected void onHandleIntent(Intent intent) {
        // TODO Auto-generated method stub
        //write code which yuou want to run in seperate thread
    }

    }
0 голосов
/ 13 марта 2012

Попробуйте разместить фоновый / рабочий поток внутри ваших сервисов. Таким образом вы удаляете работу из основного потока, и вы не должны получать исключение ANR:)

Удачи, Arkde

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