mp = MediaPlayer.create(this, R.raw.stretching);
mNotification = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
mCalendar = new GregorianCalendar();
Log.i("HelloAlarmActivity", mCalendar.getTime().toString());
setContentView(R.layout.activity_alarm);
Button b = (Button) findViewById(R.id.set);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setAlarm();
}
});
b = (Button) findViewById(R.id.reset);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
resetAlarm();
}
});
mDate = (DatePicker)findViewById(R.id.date_picker);
mDate.init (mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH),
mCalendar.get(Calendar.DAY_OF_MONTH), this);
mTime = (TimePicker) findViewById(R.id.time_picker);
mTime = (TimePicker) findViewById(R.id.time_picker2);
mTime = (TimePicker) findViewById(R.id.time_picker2);
mTime.setCurrentHour(mCalendar.get(Calendar.HOUR_OF_DAY));
mTime.setCurrentMinute(mCalendar.get(Calendar.MINUTE));
mTime.setOnTimeChangedListener(this);
}
private void setAlarm() {
mManager.set(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), pendingIntent());
Log.i("HelloAlarmActivity", mCalendar.getTime().toString());
}
private void resetAlarm() {
mManager.cancel(pendingIntent());
mp.pause();
}
@Nullable
private PendingIntent pendingIntent() {
mp.seekTo(0);
mp.start();
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
int count = 0;
int maxCount = 29;
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
if(count < maxCount) {
count++;
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mp.seekTo(0);
mp.start();
}
}});
return null;
}
public void onDateChanged (DatePicker view, int year, int monthOfYear, int dayOfMonth) {
mCalendar.set (year, monthOfYear, dayOfMonth, mTime.getCurrentHour(),
mTime.getCurrentMinute());
Log.i("HelloAlarmActivity", mCalendar.getTime().toString());
}
public void onTimeChanged (TimePicker view, int hourOfDay, int minute) {
mCalendar.set (mDate.getYear(), mDate.getMonth(), mDate.getDayOfMonth(),
hourOfDay, minute);
Log.i("HelloAlarmActivity",mCalendar.getTime().toString());
}
이런 알람 코드가 있는데 Timepicker로 시간을 지정하고 버튼을 누르면 지정한 시간에 안울리고 바로 울려버리는데 어디가 문제인거죠 ??ㅠㅠ 2주째 해결이 안되요