AlarmManager Android каждый день - PullRequest
       9

AlarmManager Android каждый день

25 голосов
/ 30 декабря 2010

Я пытаюсь составить расписание.

Он должен работать каждый день в 1 или 2 часа дня ...

На данный момент я могу заставить его работать только каждые 10 секунд или 10 минут ...

Intent myIntent = new Intent(AndroidAlarmService.this, MyAlarmService.class);
pendingIntent = PendingIntent.getService(AndroidAlarmService.this, 0, myIntent, 0);

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

Toast.makeText(AndroidAlarmService.this, "Start Alarm", Toast.LENGTH_LONG).show();

Спасибо

Ответы [ 2 ]

98 голосов
/ 27 июля 2011

Этот код будет запускать Intent каждый день в 13:00 или 14:00.

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR_OF_DAY, 13); // For 1 PM or 2 PM
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
PendingIntent pi = PendingIntent.getService(context, 0,
            new Intent(context, MyClass.class),PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                                AlarmManager.INTERVAL_DAY, pi);
0 голосов
/ 30 декабря 2010

Это будет вызывать тревогу каждый день.

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,  AlarmManager.INTERVAL_DAY , pendingIntent);
...