Frage

Ich habe ein Problem. Ich bin neu in Android und Java und erstelle ein Programm, das die Telefonklänge ausschaltet und das Display zum Benutzer ausgewählt hat. Alles wird durchgeführt, indem Benutzereingänge (Stunde und Minute) erhalten und den Alarm basierend auf diesen Werten eingestellt werden, um eine Absicht auf einen Rundfunkveranstalter zu entlassen, der einen Dienst startet, der Geräusche ausschaltet und das Display schmält. Ich möchte, dass dieser Alarm nach dem Neustart neu gestartet wird. Ich dachte, ich kann einfach einen weiteren Rundfunkstreifen einstellen, der die Intent von Boot_Completed erhält und dann Alarm setzt, der eine Absicht auf einen Rundfunkveranstalter ausbreitet, der verwendet wird, vor dem der Service startet. Und mein Problem ist, dass ich nicht weiß, wie ich die Werte aus der Aktivität abgeben kann, die die Benutzereingabe in den Boradcastreceiver verleiht, der von boot_completed Intent gestartet wird. Oder gibt es eine andere Möglichkeit, den gleichen Alarm basierend auf der Benutzereingabe nach dem Neustart festzulegen? In einfachen Worten möchte ich den Alarm nach dem Neustart automatisch mit der gleichen Brandzeit wie den vom Benutzer festgelegten Alarm einstellen. Entschuldigung für mein schlechtes Englisch...

War es hilfreich?

Lösung

Ihr Ansatz ist korrekt.

Das einzige, was Sie hinzufügen müssen, ist, es in DB oder anderswo zu bestehen. Jedes Mal, wenn der Benutzer Sachen einstellt und Sie mit interagieren mit AlarmManager, geben Sie es auch in eine Datei ein.

Wenn du bekommst BOOT_COMPLETED, Laden Sie Daten und setzen Sie alle zuvor Alarme ein.

Andere Tipps

Im Manifest Ihrer Anwendung:

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

Implementieren Sie dann einen Broadcastreceiver, um die Sendung zu erhalten:

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.
        }
    }
}

Zum Einstellen von Alarm nach dem Neustart können Sie Werte Ihres Alarms aus gemeinsamen Einstellungen oder aus DB auswählen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top