2014-11-02 2 views
0

Можете ли вы помочь мне понять, почему моя тревога не срабатывает:
Я пытаюсь зарегистрировать ожидающее намерения, чтобы запустить будильник в 12:22 (текущий час теперь), но проблема в том, что будильник не срабатывает. Я попытался подставить miliseconds из calendar.getTimeInMilies() с жестко закодированным временем: 10 000 мили (10 секунд); Даже это не сработало.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())); 

У меня есть следующий набор разрешений в Manifest

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.