【发布时间】:2015-06-19 13:55:44
【问题描述】:
我需要在我的 Android 应用程序中添加推送通知。通知必须在每天的特定时间(例如下午 1 点)显示。为此,我正在使用 AlarmManager。当应用程序第一次启动时,我正在注册一个警报。但我有一个问题。 如果我正在将我的应用程序安装到设备上,例如在下午 1.10 点,那么警报会在我的应用程序启动后立即运行。但这是错误的,因为我需要在第二天而不是当天运行此警报。谁能帮助我并告诉我如何设置每日闹钟,该闹钟必须从当天开始工作。
这是我的代码,我现在正在使用它
private void registerAMAlarmManger(){
mAMAlarmIntent = new Intent(this, AMAlarmReceiver.class);
mAMPendingIntent = PendingIntent.getBroadcast(this, 0, mAMAlarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
SharedPreferences sPrefs = getSharedPreferences(Constants.PREFERENCES_NAME, Context.MODE_PRIVATE);
int amTime = sPrefs.getInt(Constants.MORNING_TIME, 9);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, amTime);
calendar.set(Calendar.MINUTE, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY, mAMPendingIntent);
}
【问题讨论】:
标签: android push-notification alarmmanager android-alarms