마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 Timepicker 알람 만들기질문

0 추천

 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주째 해결이 안되요

익명사용자 님이 2018년 3월 3일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...