2017-11-17 8 views
0

내가 종이에 원하는 것은 아주 간단합니다 : 모든 미드 나잇에 알람을 울림알람에 대한 혼란

그러나 초보자 인 나는 그런 알람을 설정하는 데 어려움을 겪고 있습니다. 사실, 대부분의 경우에 문제없이 작동하지만 활동 시작 (메모리 닦기) 후에 트리거됩니다. 나는 어느 정도는 과거에 일어난 일이 무엇인지, 또는 나에게 불쌍한 프로그래밍 지식으로는 나에게 의미가없는 것을 확인한다는 것을 이해한다.

내 일정

Calendar calendar = Calendar.getInstance(); 

calendar.set(Calendar.HOUR_OF_DAY, 0); 
calendar.set(Calendar.MINUTE, 0); 
calendar.set(Calendar.SECOND, 1); 
calendar.set(Calendar.DAY_OF_YEAR, 1); 
calendar.set(Calendar.MILLISECOND, 0); 

setAlarm(calendar.getTimeInMillis()); 

에서 setalarm 방법

private void setAlarm(long timeInMillis) { 
// Check if Calendar is set in the past to prevent an immediate alarm */ 
if (mCalendar.getTimeInMillis() < System.currentTimeMillis()) { 
//Add one day to the calendar (or whatever repeat interval you would like) 
     mCalendar.add(Calendar.DAY_OF_YEAR, 1); } 

AlarmManager alarmManager = (AlarmManager) 
getSystemService(Context.ALARM_SERVICE); 
Intent intent = new Intent(this, AlarmReceiver.class); 
PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0); 
alarmManager.setRepeating(AlarmManager.RTC, timeInMillis, AlarmManager.INTERVAL_DAY, pi); 

} 

나는 참전 용사에 대한 문제가 있는지 꽤 명확 생각합니다,하지만 난 시간이 붙어 있었어요. 네가 나를 도울 수 있으면 고마워.

+0

'setAlarmClock' 또는'setExactAndAlloeWhileIdle'을 사용하고'BOOT_COMPLETED' 브로드 캐스트에 다시 추가했는지 확인하고 앱이 시작할 때 거기에 있는지 확인하고 거기에 없으면 추가하십시오 (강제 정지). – EpicPandaForce

답변

0

방송 수신자 검색. 심지어 전화를 끄더라도 귀하의 펜딩을 다소 재 장전 할 것입니다.