我有一个服务..我必须在时间选择器开始的时间生成一个通知..它正在工作System.currentTimeMillis()
,但是如果我从时间选择器开始使用时间则不行
这是我在单击textView时显示的时间选择器:
tv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
timePicker.setIs24HourView(true);
//tv.setText( selectedHour + " : " + selectedMinute);
mcurrentTime.set(Calendar.HOUR,selectedHour);
mcurrentTime.set(Calendar.MINUTE,selectedMinute);
mcurrentTime.set(Calendar.SECOND,0);
// HERE I AM GETTING TIME FROM TIMEPICKER
l= mcurrentTime.getTimeInMillis();
tv.setText(String.valueOf(l));
}
}, hour, minute, true);//Yes 24 hour tim
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
这是按钮单击的代码,在此单击上我正在启动服务:
Intent myIntent = new Intent(MainActivity.this, MyReceiver.class);
int randomPIN = (int)(Math.random()*9000)+1000;
pendingIntent = PendingIntent.getBroadcast(MainActivity.this, randomPIN, myIntent,pendingIntent.FLAG_ONE_SHOT);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
//HERE I am entering the time from time picker
alarmManager.set(AlarmManager.RTC, l , pendingIntent);
替换为:
mcurrentTime.set(Calendar.HOUR, selectedHour);
有了这个:
mcurrentTime.set(Calendar.HOUR_OF_DAY, selectedHour);
Calendar.HOUR严格为12个小时。
根据文档
获取和设置的字段号,指示上午或下午的时间。HOUR用于12小时制(0-11)。中午和午夜用0而不是12表示。例如,在10:04:15.250 PM,小时是10。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句