Менеджеры будильников в Android теряют все свои зарегистрированные будильники, когда телефон теряет питание.
Я использую следующий широковещательный приемник для запуска при загрузке Android:
public class AlarmBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
Cursor alarmCursor = MainActivity.dbHelper.loadAlarms();
// Iterate through every stored alarm and set those alarms.
// ....
alarmCursor.close();
}
}
}
Когда onReceive широковещательного приемника запускается при загрузке системы, какой параметр контекста передается методу? Я должен знать контекст, потому что мне нужен контекст для отмены сигналов тревоги, установленных в этом контексте.
Я предполагаю, что вызов MainActivity.dbHelper.loadAlarms() небезопасен, поскольку MainActivity не инициализируется при загрузке системы. Или это безопасно, потому что dbhelper и loadAlarms() инициализированы и объявлены статическими?