안드로이드 개발 질문/답변
(글 수 45,052)
public class ShakeMorning extends Activity implements OnClickListener { Calendar calendar = Calendar.getInstance();
TextView txtLabel; TimePickerDialog.OnTimeSetListener timeSetListenr = new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { calendar.set(Calendar.HOUR_OF_DAY, hourOfDay); calendar.set(Calendar.MINUTE, minute); setLabel(); } };
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); ((Button)findViewById(R.id.BTN_start)).setOnClickListener(this); ((Button)findViewById(R.id.BTN_stop)).setOnClickListener(this); AnalogClock btnTime = (AnalogClock)findViewById(R.id.AnalogClock01); btnTime.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { new TimePickerDialog(ShakeMorning.this, timeSetListenr, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show(); } }); txtLabel = (TextView)findViewById(R.id.txtTime); setLabel(); } private void setLabel() { txtLabel.setText(DateFormat.getDateTimeInstance().format(calendar.getTime())); }
public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.BTN_start: RepeatingAlarm_Start_Event(); finish(); break; case R.id.BTN_stop: RepeatingAlarm_Stop_Event(); break; } } private void RepeatingAlarm_Start_Event() { Intent intent = new Intent(ShakeMorning.this, RepeatingAlarm.class); PendingIntent sender = PendingIntent.getBroadcast(ShakeMorning.this, 0, intent, 0); // We want the alarm to go off 30 seconds from now. long firstTime = SystemClock.elapsedRealtime(); firstTime += 15*1000; AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 15*1000, sender); Toast.makeText(ShakeMorning.this, "알람 시작", Toast.LENGTH_LONG).show(); } private void RepeatingAlarm_Stop_Event(){ Intent intent = new Intent(ShakeMorning.this, RepeatingAlarm.class); PendingIntent sender = PendingIntent.getBroadcast(ShakeMorning.this, 0, intent, 0); // And cancel the alarm. AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); am.cancel(sender); Toast.makeText(ShakeMorning.this, "알람 취소", Toast.LENGTH_LONG).show(); }
}
일단 15초후에 처음울리고 계속 15초마다 실행되게 했습니다.
저렇게 말고 타임피커로 저장한 시간에 최초로 실행되게 하는방법 아시면 댓글좀 ㅠㅜ