1
사용자가 버튼을 클릭 한 후 특정 시간 (이 시점에서 일요일 12시 36 분)에 새로운 인 텐트를 시작하려고합니다. 모든 캘린더 클래스 자습서를 살펴 보았지만 잘못된 것을 찾지 못했습니다. 난 달력 함수없이 코드를 테스트하고 잘 작동합니다. 아래 코드 :특정 캘린더 설정 시간이되면 알람 관리자가 꺼지지 않습니다.
public void myClickHandler(View view){
switch (view.getId()){
case R.id.button_start:
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, 0);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
AlarmManager alrmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Intent intent = new Intent(this, MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alrmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
break;
}
}
WOW 감사합니다! 내가 본 예들은 날 번호를 정하는 데있어서 잘못되었다. – rainingdx
예,'Calendar' 클래스 값이 이상합니다. 예 : 요일은 1 기준이지만 월은 0 기준입니다. 가능한 경우 클래스 상수를 사용하는 것이 좋습니다. –
그건 그렇고, Calendar.getInstance()를 호출하면 현재 시간이 이미 설정된 인스턴스를 반환합니다. 그냥 참고하시기 바랍니다. –