做了个闹钟整了个笔记,我直接贴代码
public boolean timeType = false ;
AlarmManager alarmManager1;
String strTimeFormat;
Calendar mCalendar = Calendar.getInstance();
public void main(){
ContentResolver cv = MainActivity.this.getContentResolver();
strTimeFormat = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.TIME_12_24);
LogUtils.i("strTimeFormat",strTimeFormat);
if (strTimeFormat.equals("24")){//判定是12小时或是24小时的
timeType = true;
}else {
timeType = false;
}
mCalendar.setTimeInMillis(System.currentTimeMillis());
final int mDate = mCalendar.get(Calendar.DATE);
final int mHour = mCalendar.get(Calendar.HOUR_OF_DAY);
final int mMinute = mCalendar.get(Calendar.MINUTE);
//创建一个TimePickerDialog实例,并显示
new TimePickerDialog(this, 0, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Intent intent = new Intent(this, AlarmActivity.class);
mCalendar.setTimeInMillis(System.currentTimeMillis());
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, minute);
mCalendar.set(Calendar.SECOND, 0);
mCalendar.set(Calendar.MILLISECOND,0);
if (mHour>hourOfDay){//如果选择的时间小于获取的系统时间日期加一
if (mMinute>=minute) {
mCalendar.set(Calendar.DAY_OF_YEAR, mCalendar.get(Calendar.DAY_OF_YEAR) + 1);
}
}
if (mHour==hourOfDay){
if (mMinute>minute) {
mCalendar.set(Calendar.DAY_OF_YEAR, mCalendar.get(Calendar.DAY_OF_YEAR) + 1);
}
}
//构造一个PendingIntent对象
PendingIntent pendingIntent1 = PendingIntent.getActivity(this, 1, intent, 0);//如果要设置多个的话把1改成不同的
//设置在规定的时间内启动组件
alarmManager1.set(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), pendingIntent1);
//闹铃设置成功提示
Toast.makeText(activity, "闹铃设置成功", Toast.LENGTH_SHORT).show();
}
}, mHour, mMinute, timeType).show();
}
闹钟时间到后会执行这个类 可以在这个类里面写个播放声音的
public class AlarmActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}