알람 메소드
public static void resetAlarm(Context context){ AlarmManager resetAlarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent resetIntent = new Intent(context, 로직 클래스); PendingIntent resetSender = PendingIntent.getBroadcast(context, 0, resetIntent, 0); // 자정 시간 Calendar resetCal = Calendar.getInstance(); resetCal.setTimeInMillis(System.currentTimeMillis()); resetCal.set(Calendar.HOUR_OF_DAY, 0); resetCal.set(Calendar.MINUTE,0); resetCal.set(Calendar.SECOND, 0); //다음날 0시에 맞추기 위해 24시간을 뜻하는 상수인 AlarmManager.INTERVAL_DAY를 더해줌. resetAlarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, resetCal.getTimeInMillis() +AlarmManager.INTERVAL_DAY, AlarmManager.INTERVAL_DAY, resetSender); SimpleDateFormat format = new SimpleDateFormat("MM/dd kk:mm:ss"); String setResetTime = format.format(new Date(resetCal.getTimeInMillis()+AlarmManager.INTERVAL_DAY)); Log.d("resetAlarm", "ResetHour : " + setResetTime); }해당 로직을 구현할 Class에선 BroadcastReceiver를 상속받아 onReceive 오버라이드 메소드 내에서 실행하고 싶은 로직을 작성하면 된다.
'Before 2022 > Java & Spring' 카테고리의 다른 글
Jsoup를 활용한 게티이미지 썸네일 크롤링 (0) | 2019.04.03 |
---|---|
내부 클래스와 중첩 클래스의 차이점 (0) | 2019.04.01 |