根据TimerDialogPicker选择时间:
final Calendar calendar = Calendar.getInstance();
TimePickerDialog a = new TimePickerDialog(
this,new OnTimeSetListener(){
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
Settings.System.putInt(getContentResolver(), "start_time", hourOfDay*60+minute);
}},
calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE),
DateFormat.is24HourFormat(this.getBaseContext()));
a.show();
TimePickerDialog b = new TimePickerDialog(
this,new OnTimeSetListener(){
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
Settings.System.putInt(getContentResolver(), "end_time", hourOfDay*60+minute);
}},
calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE),
DateFormat.is24HourFormat(this.getBaseContext()));
b.show();
然后自己写一个判断区间的函数:
private final static String BLOCK_START_TIME_KEY ="start_time";
private final static String BLOCK_END_TIME_KEY ="end_time";
private boolean isInTimeRange() {
Time t = new Time();
t.setToNow();
int current = t.hour*60 + t.minute;
int startTime = Settings.System.getInt(getContentResolver(),BLOCK_START_TIME_KEY,0);
int endTime = Settings.System.getInt(getContentResolver(),BLOCK_END_TIME_KEY,0);
if(startTime <= endTime) {
if(current>=startTime && current<=endTime) {
return true;
} else {
return false;
}
} else {
if(current >= startTime || current <= endTime) {
return true;
} else {
return false;
}
}
}
我这个可以在不同的应用中调用,可以参考哦