Метод onReceive BroadcastReceiver не вызывается - PullRequest
1 голос
/ 16 декабря 2011

Я пытаюсь вызывать определенные функции в моем приложении в определенное время каждую неделю.Вот что я сделал:

В своей деятельности у меня есть следующий код

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);

PendingIntent pIntent;

//my function to get first invoke time
        long lAlarmStartTime = getAlarmStartTime(Calendar.SUNDAY, alrm);

Intent intentArg = new Intent(getApplicationContext(), RcvAlarms.class).putExtra    (ALARM_ALARM_ID,  alrm.getMy_id());

pIntent = PendingIntent.getActivity(getApplicationContext(),
                (int) task.getMy_id() * 10 + Calendar.SUNDAY,
                intentArg, flag);

am.setRepeating(AlarmManager.RTC_WAKEUP, lAlarmStartTime,
                AlarmManager.INTERVAL_DAY * 7, pIntent);

У меня есть еще один класс:

public class RcvAlarms extends BroadcastReceiver {

public RcvAlarms() {
    // TODO Auto-generated constructor stub
}

@Override
public void onReceive(Context context, Intent intent) {//my job }

МойУ манифеста есть следующий тег получателя внутри тега приложения:

<receiver android:name=".RcvAlarms" android.text="Repeat Task Receiver"></receiver>

Может кто-нибудь сказать мне, почему onReceive не вызывается, когда время моего устройства достигает времени запуска?

1 Ответ

0 голосов
/ 08 апреля 2012

Код при установке будильника - это код, который вы используете для запуска действия. Я думаю, что вам нужен PendingIntent.getBroadcast (), а не PendingIntent.getActivity ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...