Я могу запустить службу и очищать папку каждые 30 минут. У меня есть несколько вопросов по этому поводу:
1. У службы есть onStartCommand, который будет выполнен при запуске службы. Могу ли я вызвать здесь функцию с обработчиком, который запускается каждые 30 минут? Пример
Код: Выделить всё
public int onStartCommand(Intent intent, int flags, int startId){
cleanUpData();
return START_REDELIVER_INTENT;
}
public void cleanUpData()
{
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// call the function again
cleanUpData();
}
}, "30 mins");
}
а. Это правильно?
б. Не помешает ли это работе?
c. Должен ли я использовать отдельный поток, как упоминалось в многочисленных руководствах?
d. Стоит ли мне все-таки пользоваться услугами? Или есть другой способ?
- AlarmManager обеспечивает повторные будильники по расписанию, но это не работает, когда телефон находится в спящем режиме. Я не хочу включать экран, поскольку это не требует какого-либо человеческого вмешательства. Могу ли я игнорировать AlarmManager? Или у AlarmManager есть функция запуска кода, даже когда телефон находится в спящем режиме и пробуждение телефона является ложным?
Подробнее здесь: https://stackoverflow.com/questions/266 ... ng-service
Мобильная версия