2013-09-04 2 views
0

Я работал с сигналами тревоги много раз, но я не могу на всю жизнь заставить это вызвать ... Что я делаю неправильно? Я пробовал запускать службы, BroadcastReceivers, все. Я попытался запустить его с более раннего времени и в будущем (через 5 секунд). Насколько я знаю, он установлен, это не ошибка, и мой журнал стреляет ... Но ничего в AlarmReceiver не запускается.Тревога не срабатывает

public void setAlarm() { 
      Calendar exp = Calendar.getInstance(); 
      exp.set(Calendar.SECOND, 5); 

      AlarmManager am = (AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE); 
      am.set(AlarmManager.RTC_WAKEUP, exp.getTimeInMillis(), PendingIntent.getService(mContext, 0, new Intent(mContext, AlarmReceiver.class), 0)); 
      Log.i("", "Alarm set for " + DateFormat.format("MMMM dd, yyyy hh:mma", exp.getTime())); 

     } 

    } 

public class AlarmReceiver extends Service { 

    @Override 
    public IBinder onBind(Intent intent) { 
     Log.d("", "onBind Tiggered"); 
     return null; 
    } 

    public void onCreate() { 
     Log.d("", "onCreate Triggered"); 
    } 
} 

ответ

2

Не забудьте добавить службу в свой Manifest !!

0

время будет только в будущем, если вы запустите в течение первых 5 секунд до одной минуты.

Вы должны использовать calendar.add(field, value);, чтобы добавить вовремя.

Если вы находитесь в часовом поясе, кроме GMT, это также может отбрасывать календарь.

Для установки будильника в течение 5 секунд, это проще всего сделать это следующим образом:

alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (5 * 1000), pendingIntent); 
+0

Хорошо, правда .. но я пробовал использовать System.currentTimeMillis() + (5 * 1000) без успеха. – bwoogie

+0

В журнале есть что-то интересное? Можете ли вы опубликовать соответствующий раздел? – alex

+0

nope .. ничего не происходит в журнале на всех остальных, кроме того, что я отправляю в него, когда создаю будильник – bwoogie

 Смежные вопросы

  • Нет связанных вопросов^_^