2014-11-02 86 views
0

您能否帮我理解为什么我的报警不会触发:
我正在尝试注册一个挂起的意图或在12:22发出警报(当前小时现在),但问题是警报不会触发。我尝试用calendar.getTimeInMilies()替换硬编码时间的毫秒数:10 000 milies(10 seconds); 甚至没有它的工作。AlarmManager不会在相应的时间触发报警

AlarmManager alarm_manager =(AlarmManager)this.getSystemService(Context.ALARM_SERVICE); 
    calendar = Calendar.getInstance(); 

    Intent intent = new Intent(MainActivity.this , AlarmManagerHelper.class); 

    PendingIntent register =PendingIntent.getActivity(getBaseContext(), 0, intent,0); 

    calendar.set(Calendar.YEAR,2014); 
    calendar.set(Calendar.MONTH, 10); 
    calendar.set(Calendar.DAY_OF_MONTH, 2); 
    calendar.set(Calendar.HOUR_OF_DAY,12); 
    calendar.set(Calendar.MINUTE,22); 
    calendar.set(Calendar.SECOND, 0); 
    calendar.set(Calendar.AM_PM, Calendar.AM); 




    alarm_manager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), register); 

    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); 
    Log.d(TAG ,"Time format is :" +formatter.format(calendar.getTime())); 

我也有以下权限的清单

android:name="android.permission.WAKE_LOCK" 

设置和输出:

Time format is :02/11/2014 12:22:00 

回答

1

尝试使用getBroadcast方法,而不是getActivity:

PendingIntent register =PendingIntent.getBroadcast(MainActivity.this, 0, intent,0); 

希望这个h ELPS。