Haciendo un programa de alarma - no funciona

Estoy intentando hacer un programa de alarma. Hasta ahora he escrito una actividad en la que el usuario puede seleccionar la hora en que desea que suene la alarma. Esto está funcionando bien. Ahora necesito usar el administrador de alarmas para decirle al sistema operativo que llame a algunos de mis códigos en un momento determinado en el futuro. Solo para probar esto de manera burda, agregué el siguiente código que se ejecuta cuando presiono un botón de prueba en mi actividad principal:

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);

Esto debería significar que un código llamado to_call_when_alarm_goes_off se ejecutará un segundo después de presionar el botón ... Ahora es donde estoy un poco confundido. No estoy seguro de cómo / dónde configurar "to_call_when_alarm_goes_off". Lo que hice fue simplemente agregar una nueva clase a mi proyecto de la siguiente manera:

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!!!");

    }

}

Todo el código se compila, y cuando presiono el botón, todo el código del primer fragmento de código se ejecuta sin fallar, pero un segundo después no se ejecuta el código del receptor de difusión. Claramente estoy malinterpretando algo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta