Q:

Why the alarm receiver is not trigger in android?

I am implement a simple alarm function, which is used to trigger some function at the specific date time.
The problem is I have set the time already, but the receiver seems never called.
Here is how I implement:......
1) in manifest :
 <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />

and
<receiver android:name=".Listener.AlarmReceiver" />

2) in the main activity (I would like to trigger on  4th June 2014, 02:06 p.m.)
profilePic.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
             GregorianCalendar date = new GregorianCalendar(2014,6,4,14,6);
             long dateTime = date.getTimeInMillis();
             Log.d("test1",date.toString());
             AlarmManager alarmManager = (AlarmManager) ctx.getSystemService(Context.ALARM_SERVICE);
             Intent intentAlarm = new Intent(ctx, AlarmReceiver.class);
             alarmManager.set(AlarmManager.RTC_WAKEUP, dateTime, PendingIntent.getBroadcast(ctx, 1, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));
        }
    });

And I have also log the time 
java.util.GregorianCalendar[time=1404453960000,areFieldsSet=true,lenient=true,zone=Asia/Hong_Kong,firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2014,MONTH=6,WEEK_OF_YEAR=27,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=185,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=6,SECOND=0,MILLISECOND=0,ZONE_OFFSET=28800000,DST_OFFSET=0]

3) Receiver
public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("test1", "alarm");
        Toast.makeText(context, "Alarm Triggered", Toast.LENGTH_LONG).show();
    }
}

I waited until the 02:06p.m. but nothing happened, and receiver is not called. How to fix the problem? Also, is it possible to set more than one alarm, is it all I need to do is to create another datetime and fire the alarmManager.set() again, will it overwrite the old timer? Thanks for helping.
Updated
For the AlarmReceiver in the mainifest ,
I changed to 
<receiver android:name="com.example.antismoke.Listener.AlarmReceiver" />

And the class is 
package com.example.antismoke.Listener;

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

public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("test1", "alarm");
        Toast.makeText(context, "Alarm Triggered", Toast.LENGTH_LONG).show();
    }
}

so I think package name is not the root cause? Thanks for helping

A:

Instead of using GregorianCalendar , try to use Calendar.
Try the following, it should work:
Intent i = new Intent(getApplicationContext(), AlarmReceiver.class); 
PendingIntent sender = PendingIntent.getBroadcast(AlarmSample.this, 0, i, 0);

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hour); // set hour
calendar.set(Calendar.MINUTE, minuite); // set minute
calendar.set(Calendar.SECOND, 0); // set seconds     
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); 
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender); 

