У меня была настройка AlarmManager в моем классе MainActivity
.AlarmManager - Я делаю это правильно?
Класс, который называется AlarmReceiver
, запускается для каждого заданного интервала времени.
Мне нужно выполнить операцию, когда этот класс запущен. Этот код находится в в другом классе Parsing.java
Сейчас в AlarmReceiver.java, я делаю это:
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Parsing obj = new Parsing(context);
obj.execute();
}
}
Я не могу писать код непосредственно в AlarmReceiver.java
, потому что AlarmReceiver.java
уже расширяет BroadcastReceiver
и мой код Parsing.java
распространяется на другой класс.
Итак, я создаю объект для класса Parsing
и вызывая этот метод.
Является ли мой подход правильным?
В случае необходимости я предоставим дополнительную информацию. Пожалуйста, дайте мне знать, если мой подход правильный? Спасибо заранее!
EDIT:
Parsing.java
public class Parsing extends AsyncTask<Void, Void, Void> {
//some code
}
Perfecto! Но учитывая первую причину, о которой вы говорили, работает ли сервис, который мы начинаем с «onReceive()», заканчивается через некоторое время после того, как код возвращается из этой функции? – Nikhil
Нет, «Сервис» - полностью независимый компонент, который не имеет никакого отношения к жизненному циклу вашего «BroadcastReceiver» ... поэтому вам не стоит беспокоиться об этом. «Сервис» может быть остановлен после завершения его работы. –
Ницца! Спасибо! :) – Nikhil