Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Notifiche android con + AlarmManager + BroadcastReceiver

    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?

  2. #2

    Moderazione

    Le discussioni relative a Android non sono trattate qui, ma nella sezione Java.

    Provvedo a spostare il thread.
    Amaro C++, il gusto pieno dell'undefined behavior.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.