我正在开发多时间安卓警报应用程序,但在第一步我有问题是,它不区分am和PM我不知道我的代码有什么问题。下面是我的MainActivity类代码,其中我有问题,我从时间选择器获得警报时间。
Button start;
TimePicker timeP;
TextView tv;
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start = (Button) findViewById(R.id.button1);
timeP = (TimePicker) findViewById(R.id.timePicker1);
et = (EditText) findViewById(R.id.editText1);
tv = (TextView) findViewById(R.id.tex);
// tv.setText(""+System.currentTimeMillis()+20000);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
String messg = et.getText().toString();
Calendar time = Calendar.getInstance();
time.set(Calendar.HOUR, timeP.getCurrentHour());
time.set(Calendar.MINUTE, timeP.getCurrentMinute());
//time.setTimeInMillis(System.currentTimeMillis());
time.set(Calendar.SECOND, 0);
time.set(Calendar.AM_PM, time.PM);
Intent intent = new Intent(MainActivity.this, Second.class);
intent.putExtra("msg", messg);
PendingIntent pi = PendingIntent.getActivity(MainActivity.this,
0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP,time.getTimeInMillis(), pi);
);}
谢谢。
的确,用24小时制代替12小时制来实现。获取TimePicker时间并解析为24小时时钟检查以下代码:
_Strtime="11:30 AM";
SimpleDateFormat mDateFormat1 = new SimpleDateFormat("HH:mm");
mCalendar.setTime(mDateFormat1.parse(_Strtime));
PendingIntent pi = PendingIntent.getActivity(MainActivity.this,0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP,mCalendar.getTimeInMillis(), pi);