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();
}

}

<receiverandroid:name=".media.AlarmReceiver"android:process=":remote"/> 注意注册

更多相关文章

  1. android中popupwindow的点滴
  2. Android(安卓)Service实现闹钟
  3. android density
  4. Android加载html实现文件上传功能
  5. WindowManger
  6. android DatePicker和TimePicke用法
  7. android popupwindow
  8. Android统计表格MPAndroidChart解析
  9. Android(安卓)WebView相关属性

随机推荐

  1. Android(安卓)handler异步更新
  2. Android中获取应用程序(包)的大小-----Pa
  3. Android(安卓)HttpgetRequester+onRespon
  4. Android(安卓)HttpUtils工具类
  5. Android(安卓)LinearLayout和RelativeLay
  6. android 确认对话框实例
  7. iTextPdf--the world's preferred PDF li
  8. android ANR 案例分析
  9. Android(安卓)实现控件浮动效果
  10. Android: 扩展WebView 和ViewPager实现vi