首页 > 解决方案 > 警报管理器没有运行?安卓

问题描述

任何想法为什么我的警报管理器不会运行?我已经摆弄了几个小时,其中一个正在运行,但另一个没有,我找不到解决方案。

Calendar cur_cal = new GregorianCalendar();
cur_cal.setTimeInMillis(System.currentTimeMillis());//set the current time and date for this calendar

Calendar cal = new GregorianCalendar();
cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
cal.set(Calendar.HOUR_OF_DAY, startHours);
cal.set(Calendar.MINUTE, startMinutes);
cal.set(Calendar.DATE, cur_cal.get(Calendar.DATE));
cal.set(Calendar.MONTH, cur_cal.get(Calendar.MONTH));

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(WelcomeScreen.this, DNDAlarm.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(WelcomeScreen.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 86400000, pendingIntent);

标签: androidalarmmanagerrepeatingalarm

解决方案


您必须在清单文件中声明广播接收器,这是文档中的一个示例:

<receiver android:name=".MyBroadcastReceiver"  android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
        <action android:name="android.intent.action.INPUT_METHOD_CHANGED" />
    </intent-filter>
</receiver>

推荐阅读