AlarmManager不正确的工作
问题描述:
我希望得到用户的日期和时间与TimePickerDialog和DatePicker的,然后显示在时间通知当用户选择的,但通知显示在当前时间AlarmManager不正确的工作
获取时间:
TimePickerDialog tpd=new TimePickerDialog(AddTaskActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Model_Static.bol_time=true;
hourFinal=view.getCurrentHour();
MinuteFinal=view.getCurrentMinute();
tv4.setText(hourOfDay+":"+minute);
}
},hour,minute,true);
tpd.show();
获得年月日:
btn_sbt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Model_Static.bol_tarikh=true;
Calendar cal=pdp.getDisplayPersianDate();
Toast.makeText(getApplicationContext(),cal.getTimeInMillis()+"",Toast.LENGTH_LONG).show();
yearFinal=cal.getTime().getYear();
monthFinal=cal.getTime().getMonth();
dayFinal=cal.getTime().getDay();
集AlarmManager:
if (Model_Static.bol_tarikh&&Model_Static.bol_time)
{
intent123.putExtra("id",2);
pendingIntent123=PendingIntent.getBroadcast(getApplicationContext(),2,intent123,PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calcal=Calendar.getInstance();
calcal.set(Calendar.YEAR,yearFinal);
calcal.set(Calendar.MONTH,monthFinal);
calcal.set(Calendar.DAY_OF_MONTH,dayFinal);
calcal.set(Calendar.HOUR_OF_DAY,hourFinal);
calcal.set(Calendar.MINUTE,MinuteFinal);
long b=calcal.getTimeInMillis();
am123.set(AlarmManager.RTC,b,pendingIntent123);
答
这真的很难理解什么是不工作..你应该线调试它的线,但这里的一些点,你应该考虑:
首先检查,如果您的清单包含此行:
< receiver android:name =“。NotificatonReceiver”/>
其中.NotificationReciver是您捕捉闹钟的类。 除了确保您的Reciver确实实现BrodcastReciver。
希望这有助于
你真的应该首先尝试调试代码,发送问题做之前。设置一些断点,单步执行代码,看看你的变量是如何改变到达线'am123.set(AlarmManager.RTC,B,pendingIntent123)之前;' – artkoenig