AlarmManager не запускает намерение при срабатывании будильника

Даже если я устанавливаю будильник и регистрирую широковещательный приемник, будильник не срабатывает.

Я регистрирую получателя здесь:-

private void registerOfflineEntitlementUpdateReceiver(Context context) {
    IntentFilter intentFilter = new IntentFilter(ENTITLEMENT_OFFLINE_ACTION);
    LocalBroadcastManager.getInstance(context).registerReceiver(new EntitlementOfflineUpdateReceiver() , intentFilter);
}

Будильник установлен здесь:-

private void setAlarm() {
    Intent intent = new Intent(mContext, EntitlementOfflineUpdateReceiver.class);
    intent.setAction(ENTITLEMENT_OFFLINE_ACTION);
    mPending = PendingIntent.getBroadcast(mContext, Constants.ENTITLEMENT_OFFLINE_ALARM, intent, 0);

    mAlarmManager = (AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE);
    mAlarmManager.cancel(mPending);

    Calendar cal = Calendar.getInstance();
    long cncNextPollTimeInMillis = ApplicationPrefs.getInstance(mContext).getNextCncHelloPoll();
    cal.setTimeInMillis(cncNextPollTimeInMillis);
    int a_SEC = 1000;
    int a_MIN = a_SEC * 60;
    cal.add(Calendar.MILLISECOND, a_MIN);
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        mAlarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC, cal.getTimeInMillis(), mPending);
    }
    else {
        mAlarmManager.set(AlarmManager.RTC,cal.getTimeInMillis(),mPending);
    }
}

Класс приемника вещания:-

public class EntitlementOfflineUpdateReceiver extends BroadcastReceiver {
    private String TAG = "SMC.EntitlementOfflineUpdateReceiver";
    @Override
    public void onReceive(final Context context, Intent intent) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                Log.i(TAG, "performing offline entitlement update ...");
                EntitlementEngine.getInstance(context).performOfflineEntitlementUpdate();
            }
        }).start();

    }
}

Что на самом деле ошибка, которую я получаю?

0 ответов

Другие вопросы по тегам