Registre un servicio AlarmManager para cada llamada de 1 minuto.
final Intent intent = new Intent(context, UpdateService.class);
final PendingIntent pending = PendingIntent.getService(context, 0, intent, 0);
final AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pending);
long interval = 1000*60;
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(),interval, pending);
Sin embargo, empujar las actualizaciones a los widgets de la aplicación es una operación costosa. Actualizar cada 1 minuto obligaría a su código de "actualizar un widget de aplicación" a permanecer en la memoria, que se mantiene funcionando todo el tiempo, y esto también consumirá la batería de manera significativa.
¿Dónde se supone que debemos poner este código? Como un principiante de Android, no me ayuda ... – Virthuss
¿se debe poner esto en el método 'onUpdate'? – natsumiyu
Esto no funciona correctamente para Android 6.0+. El modo Doze generalmente no funciona bien con 'setRepeating()'. Intenté todo, incluso 'setExactAndAllowWhileIdle()' cada vez que se activa la alarma, pero no se apaga o se apaga demasiado tiempo después del minuto 1 que deseo. – Nikiforos