在我的应用程序中,我需要设置警报,并在状态栏中显示通知。我将预定事件存储在数据库中,并在通知出现时删除事件。
当我关闭设备并再次打开时。base 中的列表存在,但永远不会触发警报事件。当我关闭设备时,似乎挂起的事件被取消了。
如何防止这种情况?我需要在设备打开时显示通知,并且警报时间到了。
这就是我设置警报的方式:
Intent intent = new Intent(activity, TimeAlarm.class);
intent.putExtra(SHOW_NAME, showName);
intent.putExtra(SHOW_START_TIME, showStartTime);
intent.putExtra(CHANNEL_NAME, channelName);
intent.putExtra(VIBRATION_ENABLED, isVibrate);
intent.putExtra(SOUND_ENABLED, isSound);
int alarmId = (int) System.currentTimeMillis();
intent.putExtra(ALARM_ID, alarmId);
PendingIntent pendingIntent = PendingIntent.getBroadcast(activity,
alarmId, intent, PendingIntent.FLAG_ONE_SHOT);
am.set(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis() + delayMilis, pendingIntent);
在清单文件中,我只有这个:
<receiver
android:name="com.moleandroid.tvprogramgui.alarm.TimeAlarm"
/receiver>
TimeAlarm 类是我的接收器,从那里我在状态栏中显示通知。
知道有什么问题吗?