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); 
+1

你真的应该首先尝试调试代码,发送问题做之前。设置一些断点,单步执行代码,看看你的变量是如何改变到达线'am123.set(AlarmManager.RTC,B,pendingIntent123)之前;' – artkoenig

这真的很难理解什么是不工作..你应该线调试它的线,但这里的一些点,你应该考虑:

首先检查,如果您的清单包含此行:

< receiver android:name =“。NotificatonReceiver”/>

其中.NotificationReciver是您捕捉闹钟的类。 除了确保您的Reciver确实实现BrodcastReciver。

希望这有助于