Ho un'app che richiede l'esecuzione di un codice ogni minuto. Ma il problema è che il codice deve essere eseguito ad ogni minuto cambiamento dell'orologio. Il che significa,allarme programmato per ripetere ogni minuto dell'orologio android
Se è il 12:34, il codice verrà eseguito alle 12:35 e continuerà. Ma il mio codice attuale funziona ma include i secondi. Significato,
Se 12:34:30 e l'allarme si avvia, il codice viene eseguito. Ma il codice viene quindi eseguito alle 12:35:30.
Desidero che il codice venga eseguito ogni minuto in base all'orologio del telefono. Di seguito è riportato il codice corrente.
Intent intent2 = new Intent(MainActivity.this, MyABService.class);
PendingIntent pintent = PendingIntent.getService(MainActivity.this, 0, intent2, 0);
AlarmManager alarm_manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm_manager.setRepeating(AlarmManager.RTC, c.getTimeInMillis(), 1 * 1000, pintent);
Im eseguendolo eseguito ogni secondo in modo che l'effetto abbia luogo nel momento esatto. Invece di avere ogni secondo ho bisogno di ripetersi ad ogni cambio minuti dell'orologio (ogni minuto)
Come posso fare per questo
Se avete solo bisogno di questo mentre la vostra applicazione è in esecuzione e lo schermo è acceso, utilizzare soluzioni in-process come 'ScheduledExecutorService'. Se stai cercando di farlo funzionare anche se il processo della tua app è stato terminato o lo schermo non è attivo, rinunciare e scrivere qualche altra app, in quanto Android non supporta il tuo scenario su Android 6.0+. – CommonsWare