Попробуйте отправить Часы и минуты
public static void setAlarmforOverlay(Context context, int hour, int minute, int AlarmId) {
AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, YourBroadCastReceiver.class);
intent.putExtra("hour", hour);
intent.putExtra("minute", minute);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, AlarmId, intent, 0);
//1 PM and 0 AM
int AM_PM;
if (hour < 12)
AM_PM = 0;
else
AM_PM = 1;
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 1);
calendar.set(Calendar.AM_PM, AM_PM);
if (Build.VERSION.SDK_INT >= 23) {
manager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), pendingIntent);
} else if (Build.VERSION.SDK_INT >= 21) {
manager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
} else {
manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
}
Использование
setAlarmforOverlay(mContext,14,00,1);
setAlarmforOverlay(mContext,14,30,2);
Также проверьте Манифест
<receiver
android:name=".YourBroadCastReceiver"
android:process=":remote">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>