Erstellen eines Alarmprogramms - funktioniert nicht

Ich versuche ein Alarmprogramm zu erstellen. Bisher habe ich eine Aktivität geschrieben, in der der Benutzer den Zeitpunkt auswählen kann, zu dem der Alarm ausgelöst werden soll. Das funktioniert gut. Jetzt muss ich den Alarm-Manager verwenden, um das Betriebssystem anzuweisen, einen Teil meines Codes zu einem bestimmten Zeitpunkt in der Zukunft aufzurufen. Um dies auf eine grobe Art und Weise zu testen, habe ich den folgenden Code hinzugefügt, der ausgeführt wird, wenn ich in meiner Hauptaktivität einen Testknopf drücke:

Intent intent = new Intent(getApplicationContext(), to_call_when_alarm_goes_off.class);
PendingIntent pIntent = PendingIntent.getBroadcast(getApplicationContext(),0, intent, 0);
AlarmManager alarms = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarms.cancel(pIntent);

alarms.setRepeating(
        AlarmManager.RTC_WAKEUP,
        System.currentTimeMillis()+1000, 
        AlarmManager.INTERVAL_DAY, 
        pIntent);

Dies sollte bedeuten, dass ein Code namens to_call_when_alarm_goes_off eine Sekunde nach dem Drücken der Taste ausgeführt wird. Jetzt bin ich etwas verwirrt. Ich bin mir nicht ganz sicher, wie / wo ich "to_call_when_alarm_goes_off" einrichten soll. Ich habe meinem Projekt einfach eine neue Klasse hinzugefügt:

package com.mycompany.alarmprogram;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class to_call_when_alarm_goes_off extends BroadcastReceiver
{

    @Override
    public void onReceive(Context arg0, Intent arg1) 
    {
        // TODO Auto-generated method stub
        Log.i("ALARM","TIME TO WAKE UP!!!");

    }

}

Der gesamte Code wird kompiliert, und wenn ich auf die Schaltfläche drücke, wird der gesamte Code des ersten Codeausschnitts ohne Absturz ausgeführt. Eine Sekunde später wird der Code des Rundfunkempfängers jedoch nicht ausgeführt. Offensichtlich missverstehe ich etwas.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage