Я читаю руководство разработчика Android.Я получил представление о приложениях для Android много.Но сейчас я действительно хочу разработать одно приложение.У меня есть некоторые основные вопросы в моей голове.Я был бы рад получить их ответы от экспертов.
В моем приложении мне нужно проверять уведомление при извлечении SIM-карты из телефона и при возврате.Чтобы проверить это, какая из них будет хорошей идеей?Это таймер, который я должен внедрить в свое приложение, или я должен создать службу, которая может реагировать на удаление SIM-карты.
Если я использую таймер для выполнения определенной работы через регулярные промежутки времениБудет ли таймер работать, если все действия выполняются в фоновом режиме?
На всех телефонах, которые я видел для удаления SIM-карты, телефон должен быть выключен, потому что батарея обычно блокирует слот SIM-карты.Так что в основном ваше приложение не может быть уведомлено об удалении SIM-карты, потому что телефон выключен.Что вы можете сделать, это запустить службу после перезапуска телефона через BroadcastReceiver, прослушивающий BOOT_COMPLETED: см. это руководство .Сервис затем проверяет, доступна ли SIM-карта через TelephonyManager.getSimState().
TelephonyManager.getSimState()
Не обязательно.Android OS решает, когда убить и удалить из памяти неактивные приложения.Нет гарантии, что ваше неактивное (например, в фоновом режиме) приложение не будет удалено.Чтобы гарантировать выполнение по расписанию, посмотрите AlarmManager.
AlarmManager
для первого случая вам, вероятно, понадобится BroadCast Reciever (при условии, что широковещательная рассылка отправляется при удалении SIM-карты. а для 2-го случая Alarm Manager лучше, чем таймер.
BroadCast Reciever
Alarm Manager