Установка будильника после перезагрузки телефона

StackOverflow https://stackoverflow.com/questions/19847748

Вопрос

У меня проблема.Я новичок в Android и Java, и я создаю программу, которая отключает звуки телефона и затемняет дисплей в выбранное пользователем время.Все делается путем получения введенных пользователем значений (час и минута) и настройки будильника на основе этих значений для передачи намерения BroadcastReceiver, который запускает службу, отключающую звуки и затемняющую дисплей.Я хочу, чтобы этот будильник был перезапущен после перезагрузки.Я подумал, что я могу просто установить другой BroadcastReceiver, который получает BOOT_COMPLETED intent, а затем устанавливает alarm, который передает intent использованному ранее BroadcastReceiver, который запускает службу.И моя проблема в том, что я не знаю, как поместить значения из действия, которое получает пользовательский ввод, в BoradcastReceiver, который запускается BOOT_COMPLETED intent.Или есть другой способ установить тот же сигнал тревоги на основе пользовательского ввода после перезагрузки?Проще говоря, я хочу автоматически установить будильник после перезагрузки с тем же временем срабатывания, что и будильник, установленный пользователем.Извините за мой плохой английский...

Это было полезно?

Решение

Ваш подход верен.

Единственное, что вам нужно добавить, - это сохранить его в базе данных или где-либо еще.Каждый раз, когда пользователь настраивает что-то, и вы взаимодействуете с AlarmManager, поместите это также в файл.

Когда ты получишь BOOT_COMPLETED, загрузите данные и настройте все предыдущие сигналы тревоги.

Другие советы

В манифесте вашего приложения:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

Затем реализуйте BroadcastReceiver для приема широковещательной передачи:

public class SampleBootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
            // Set the alarm here.
        }
    }
}

Для настройки будильника после перезагрузки вы можете выбрать значения вашего будильника из общих настроек или из базы данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top