Диспетчер тревоги не гаснет - PullRequest
1 голос
/ 01 октября 2011

Я создаю приложение тревоги.для этого мне нужно предоставить время в качестве ввода.Я пытаюсь выполнить следующий код, но сигнал тревоги не срабатывает.Я много раз искал в Интернете и модифицировал код, но все же не повезло.Заранее спасибо.

Intent intent = new Intent(NapAppActivity.this, OnetimeAlarmReceiver.class);
 PendingIntent pendingIntent = PendingIntent.getBroadcast(NapAppActivity.this, 1,  intent, 0);

     Calendar cur_cal = new GregorianCalendar();
    cur_cal.setTimeInMillis(System.currentTimeMillis());

    Calendar cal = new GregorianCalendar();
    cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
    cal.set(Calendar.HOUR_OF_DAY, 12);
    cal.set(Calendar.MINUTE, 17);
    cal.set(Calendar.SECOND, cur_cal.get(Calendar.SECOND));
    cal.set(Calendar.MILLISECOND, cur_cal.get(Calendar.MILLISECOND));
    cal.set(Calendar.DATE, cur_cal.get(Calendar.DATE));
    cal.set(Calendar.MONTH, cur_cal.get(Calendar.MONTH));

    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);

Ответы [ 2 ]

2 голосов
/ 01 октября 2011
<receiver android:name=".OnetimeAlarmReceiver" android:process=":remote" />

объявили ли вы получателя в своем манифесте.

Также предшествует имя получателя с полным объявлением пакета на месте. Если ваш приемник находится в другой упаковке, я использовал "." в вышеуказанной декларации ...

С уважением,

Arpit

2 голосов
/ 01 октября 2011

Я думаю, что вы должны использовать cal=Calendar.getInstance() для получения текущей даты / времени вместо использования конструктора GregorianCalendar.

Затем, просто установите HourOfDay и Minutes, не трогайте другие поля.

...