У меня есть приемник SMS-вещания в моем приложении со статическим логическим значением, чтобы сделать приемник активным или нет.Проблема жизненного цикла Android
public class SmsListener extends BroadcastReceiver {
public static boolean activated = false;
@Override
public void onReceive(Context context, Intent intent)
if (activated){ //do something
}
...
}
}
У меня есть виджет для активации или отсутствия приемника sms (через это статическое значение). Все работает хорошо, но я только заметил, что, если память телефона становится низкой, слушатель sms теряет свое состояние, и приложение работает не так, как ожидалось. Я предполагаю, что это связано с жизненным циклом Android. У меня нет службы в фоновом режиме, и система убивает процесс. Следует ли избегать подхода, который я использовал? Должен ли я всегда запускать сервис только для того, чтобы избежать андроидального процесса?
Благодаря
Тобия Loschiavo
У меня есть активация в настройках ... кажется, работает – Matroska
Я также установил Alarm с AlarmManager. Если приложение убито, сохраняется ли тревога? Из документации кажется да. – Matroska
Почти все переживет активность. Они должны быть спроектированы так, чтобы постоянно мерцать в процессе существования. – drawnonward