闹钟设置


public class Main extends Activity {
	Calendar c = Calendar.getInstance();
	final int DIALOG_TIME = 0;	//设置对话框id
	AlarmManager am;		//声明AlarmManager对象
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);			//设置当前屏幕
        am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);	//创建AlarmManager对象
        Button btn = (Button)findViewById(R.id.btn);			//获得Button对象
        btn.setOnClickListener(new View.OnClickListener() {		//设置监听器
			
			public void onClick(View v) {		//重写onClick方法
				showDialog(DIALOG_TIME);		//显示时间选择对话框
			}
		});
    }
	
	protected Dialog onCreateDialog(int id) {		//重写onCreateDialog方法
		Dialog dialog = null;
		switch(id){								//对id进行判断
		case DIALOG_TIME:
			dialog=new TimePickerDialog(				//创建TimePickerDialog对象
				this,
				new TimePickerDialog.OnTimeSetListener(){ //创建OnTimeSetListener监听器
					
					public void onTimeSet(TimePicker tp, int hourOfDay, int minute) {
						Calendar c=Calendar.getInstance();//获取日期对象	
						c.setTimeInMillis(System.currentTimeMillis());		//设置Calendar对象
						c.set(Calendar.HOUR, hourOfDay);		//设置闹钟小时数
						c.set(Calendar.MINUTE, minute);			//设置闹钟的分钟数
						c.set(Calendar.SECOND, 0);				//设置闹钟的秒数
						c.set(Calendar.MILLISECOND, 0);			//设置闹钟的毫秒数
						Intent intent = new Intent(Main.this,AlarmReceiver.class);	//创建Intent对象
						PendingIntent pi = PendingIntent.getBroadcast(Main.this, 0, intent, 0);	//创建PendingIntent
						am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);		//设置闹钟
						Toast.makeText(Main.this, "闹钟设置成功", Toast.LENGTH_LONG).show();//提示用户
					}    				 
				},
				c.get(Calendar.HOUR_OF_DAY),		//传入当前小时数
				c.get(Calendar.MINUTE),			//传入当前分钟数
				false
			);
			break;
		default:break;
		}
		return dialog;
	}
    
}

 

 

public class AlarmReceiver extends BroadcastReceiver {
	public void onReceive(Context context, Intent intent) {
		Intent i = new Intent(context, AlarmActivity.class);
		i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 设置标志位
		context.startActivity(i); // 启动Activity
	}

}

 

 

public class AlarmActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		new AlertDialog.Builder(AlarmActivity.this).setTitle(
				R.string.alarmTitle) // 设置标题
				.setMessage(R.string.alarmMsg) // 设置内容
				.setPositiveButton( // 设置按钮
						R.string.alarmButton, new OnClickListener() { // 为按钮添加监听器
							public void onClick(DialogInterface dialog,
									int which) {
								AlarmActivity.this.finish(); // 调用finish方法关闭Activity
							}
						}).create().show(); // 显示对话框
	}
}

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值