In my case, I wanted the Alarm to fire in the current day if time is not already passed, so I needed to improve Lucifer's answer a little bit.
void setTheAlarm(int hour, int minute)
{
SettingsData.TriggerTime triggerTime = common.settingsData.getDeviceParamInfo().getConnectionTime();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
if(System.currentTimeMillis() > calendar.getTimeInMillis())
{
calendar.add(Calendar.DAY_OF_YEAR, 1); ///to avoid firing the alarm immediately
}
// With setInexactRepeating(), you have to use one of the AlarmManager interval
// constants--in this case, AlarmManager.INTERVAL_DAY.
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, alarmIntent);
Log.i("setTheAlarm", String.format("Alarm is set to %02d:%02d", hour, minute));
}