Android闹钟设置
16lz
2021-12-04
packagecom.king.android.media;
importjava.util.Calendar;
importandroid.app.Activity;
importandroid.app.AlarmManager;
importandroid.app.PendingIntent;
importandroid.app.TimePickerDialog;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.TextView;
importandroid.widget.TimePicker;
importcom.king.android.R;
/**
*描述:闹钟事件
*作者:Andy.Liu
*时间:2012-7-23上午08:03:24
* */
public classAlarmActivity extendsActivity implementsOnClickListener{
CalendarmCalendar;
TextViewmTextView;
@Override
protected voidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mCalendar=Calendar.getInstance();
mTextView=(TextView)findViewById(R.id.tv_info);
mTextView.setVisibility(View.VISIBLE);
ButtonbtnSetAlarm=(Button)findViewById(R.id.btn_first);
btnSetAlarm.setText("设置闹钟");
btnSetAlarm.setVisibility(View.VISIBLE);
btnSetAlarm.setOnClickListener( this);
btnSetAlarm=(Button)findViewById(R.id.btn_second);
btnSetAlarm.setText("取消闹钟");
btnSetAlarm.setVisibility(View.VISIBLE);
btnSetAlarm.setOnClickListener( this);
}
@Override
public voidonClick(Viewv){
switch(v.getId()){
caseR.id.btn_first:
setAlarm();
break;
caseR.id.btn_second:
setCancel();
break;
}
}
private voidsetAlarm(){
mCalendar.setTimeInMillis(System.currentTimeMillis());
inthour=mCalendar.get(Calendar.HOUR_OF_DAY);
intmiu=mCalendar.get(Calendar.MINUTE);
newTimePickerDialog(AlarmActivity. this, newTimePickerDialog.OnTimeSetListener(){
@Override
public voidonTimeSet(TimePickerview, inthourOfDay, intminute){
mCalendar.setTimeInMillis(System.currentTimeMillis());
mCalendar.set(Calendar.MINUTE,minute);
mCalendar.set(Calendar.SECOND,0);
mCalendar.set(Calendar.MILLISECOND,0);
Intentintent= newIntent(AlarmActivity. this,AlarmReceiver. class);
PendingIntentpendingIntent=PendingIntent.getBroadcast(AlarmActivity. this,0,intent,0);
AlarmManageram=(AlarmManager)getSystemService(ALARM_SERVICE);
// 设置闹钟
am.set(AlarmManager.RTC_WAKEUP,mCalendar.getTimeInMillis(),pendingIntent);
// 设置周期闹钟
am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+10*10000,24*60*60*1000,pendingIntent);
Stringtmps="设置闹钟为"+format(hourOfDay)+":"+format(minute);
mTextView.setText(tmps);
}
},hour,miu, true).show();
}
/**
*
*TODO:取消闹钟
*Author:Andy.Liu
*CreateTime:2012-7-23上午08:18:09
*TAG:
*Return:void
*/
private voidsetCancel(){
Intentintent= newIntent(AlarmActivity. this,AlarmReceiver. class);
PendingIntentpendingIntent=PendingIntent.getBroadcast(AlarmActivity. this,0,intent,0);
AlarmManageram=(AlarmManager)getSystemService(ALARM_SERVICE);
// 取消闹钟
am.cancel(pendingIntent);
mTextView.setText("闹钟已经取消");
}
/**
*
*TODO:格式化字符串
*Author:Andy.Liu
*CreateTime:2012-7-23上午08:16:01
*TAG: @param x
*Return:void
*/
privateStringformat( intx){
Strings=x+"";
if(s.length()==1){
s="0"+s;
}
returns;
}
} packagecom.king.android.media;
importandroid.content.BroadcastReceiver;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.widget.Toast;
/**
*描述:闹钟广播
*作者:Andy.Liu
*时间:2012-7-23上午08:00:38
* */
public classAlarmReceiver extendsBroadcastReceiver{
@Override
public voidonReceive(Contextcontext,Intentintent){
Toast.makeText(context,"你设置的时间到了",Toast.LENGTH_LONG).show();
}
importjava.util.Calendar;
importandroid.app.Activity;
importandroid.app.AlarmManager;
importandroid.app.PendingIntent;
importandroid.app.TimePickerDialog;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.TextView;
importandroid.widget.TimePicker;
importcom.king.android.R;
/**
*描述:闹钟事件
*作者:Andy.Liu
*时间:2012-7-23上午08:03:24
* */
public classAlarmActivity extendsActivity implementsOnClickListener{
CalendarmCalendar;
TextViewmTextView;
@Override
protected voidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mCalendar=Calendar.getInstance();
mTextView=(TextView)findViewById(R.id.tv_info);
mTextView.setVisibility(View.VISIBLE);
ButtonbtnSetAlarm=(Button)findViewById(R.id.btn_first);
btnSetAlarm.setText("设置闹钟");
btnSetAlarm.setVisibility(View.VISIBLE);
btnSetAlarm.setOnClickListener( this);
btnSetAlarm=(Button)findViewById(R.id.btn_second);
btnSetAlarm.setText("取消闹钟");
btnSetAlarm.setVisibility(View.VISIBLE);
btnSetAlarm.setOnClickListener( this);
}
@Override
public voidonClick(Viewv){
switch(v.getId()){
caseR.id.btn_first:
setAlarm();
break;
caseR.id.btn_second:
setCancel();
break;
}
}
private voidsetAlarm(){
mCalendar.setTimeInMillis(System.currentTimeMillis());
inthour=mCalendar.get(Calendar.HOUR_OF_DAY);
intmiu=mCalendar.get(Calendar.MINUTE);
newTimePickerDialog(AlarmActivity. this, newTimePickerDialog.OnTimeSetListener(){
@Override
public voidonTimeSet(TimePickerview, inthourOfDay, intminute){
mCalendar.setTimeInMillis(System.currentTimeMillis());
mCalendar.set(Calendar.MINUTE,minute);
mCalendar.set(Calendar.SECOND,0);
mCalendar.set(Calendar.MILLISECOND,0);
Intentintent= newIntent(AlarmActivity. this,AlarmReceiver. class);
PendingIntentpendingIntent=PendingIntent.getBroadcast(AlarmActivity. this,0,intent,0);
AlarmManageram=(AlarmManager)getSystemService(ALARM_SERVICE);
// 设置闹钟
am.set(AlarmManager.RTC_WAKEUP,mCalendar.getTimeInMillis(),pendingIntent);
// 设置周期闹钟
am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+10*10000,24*60*60*1000,pendingIntent);
Stringtmps="设置闹钟为"+format(hourOfDay)+":"+format(minute);
mTextView.setText(tmps);
}
},hour,miu, true).show();
}
/**
*
*TODO:取消闹钟
*Author:Andy.Liu
*CreateTime:2012-7-23上午08:18:09
*TAG:
*Return:void
*/
private voidsetCancel(){
Intentintent= newIntent(AlarmActivity. this,AlarmReceiver. class);
PendingIntentpendingIntent=PendingIntent.getBroadcast(AlarmActivity. this,0,intent,0);
AlarmManageram=(AlarmManager)getSystemService(ALARM_SERVICE);
// 取消闹钟
am.cancel(pendingIntent);
mTextView.setText("闹钟已经取消");
}
/**
*
*TODO:格式化字符串
*Author:Andy.Liu
*CreateTime:2012-7-23上午08:16:01
*TAG: @param x
*Return:void
*/
privateStringformat( intx){
Strings=x+"";
if(s.length()==1){
s="0"+s;
}
returns;
}
} packagecom.king.android.media;
importandroid.content.BroadcastReceiver;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.widget.Toast;
/**
*描述:闹钟广播
*作者:Andy.Liu
*时间:2012-7-23上午08:00:38
* */
public classAlarmReceiver extendsBroadcastReceiver{
@Override
public voidonReceive(Contextcontext,Intentintent){
Toast.makeText(context,"你设置的时间到了",Toast.LENGTH_LONG).show();
}
}
<receiverandroid:name=".media.AlarmReceiver"android:process=":remote"/> 注意注册
更多相关文章
- android中popupwindow的点滴
- Android(安卓)Service实现闹钟
- android density
- Android加载html实现文件上传功能
- WindowManger
- android DatePicker和TimePicke用法
- android popupwindow
- Android统计表格MPAndroidChart解析
- Android(安卓)WebView相关属性