Salve a tutti. Sto sviluppando un app in android. Sto cercando di implementare le notifiche. Il funzionamento a grandi linee è i seguente. L'utente inserisce una lista di orari, ogni orario lo registro in un Db SqLite, Ogni orario lo aggiungo al mio AlarmManager, e ho un Broadcast receiver che mi genera le notifiche.

Questo è il metodo che mi inserisce gli orari nel AlarmManager
codice:
private void restartNotify() {		AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
		Intent intent = new Intent(this, AlarmReceiver.class);
		PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
				intent, PendingIntent.FLAG_CANCEL_CURRENT);
		am.cancel(pendingIntent);
		ArrayList<String> item = new ArrayList<String>();
		item = GetLists.GetTimesListForNotification(this);
		for (int i = 0; i < item.size(); ++i) {
			String time = item.get(i);
			int Position = time.indexOf(":");
			int hour = Integer.parseInt(time.substring(0, Position));
			int min = Integer.parseInt(time.substring(Position + 1));
			Calendar cal = Calendar.getInstance();
			cal.set(Calendar.HOUR_OF_DAY, hour);
			cal.set(Calendar.MINUTE, min);
			cal.set(Calendar.SECOND, 0);
			cal.set(Calendar.MILLISECOND, 0);
			am.set(AlarmManager.RTC, cal.getTimeInMillis(),
					pendingIntent);
}
Mentre questo è il BroadcastReceiver
codice:
public class AlarmReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		NotificationManager mManager;
		mManager = (NotificationManager) context.getApplicationContext()
				.getSystemService(
						context.getApplicationContext().NOTIFICATION_SERVICE);
		Intent intent1 = new Intent(context.getApplicationContext(),
				MainActivity.class);


		Notification notification = new Notification(R.drawable.ic_launcher,
				"Nuovo messaggio da cura alert", System.currentTimeMillis());
		intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
				| Intent.FLAG_ACTIVITY_CLEAR_TOP);


		PendingIntent pendingNotificationIntent = PendingIntent.getActivity(
				context.getApplicationContext(), 0, intent1,
				PendingIntent.FLAG_UPDATE_CURRENT);
		notification.flags |= Notification.FLAG_AUTO_CANCEL;
		notification.setLatestEventInfo(context.getApplicationContext(),
				"Le notifiche funzionano", "Dai cazzoooooo",
				pendingNotificationIntent);


		mManager.notify(0, notification);
	}
}
Le notifiche vengono generato soltanto quando apro l'applicazione. Quindi non segue gli orari inseriti.
Avete qualche consiglio?