0

我正在构建一个应用程序,在其中为特定时间设置警报。为此,我使用AlarmClockAndroid 来设置警报。在这里我尝试AlarmClock在他的应用程序上显示下一次以了解下一个警报。

例如:我使用 9:00 AM、6:00 PM 设置闹钟alarmManager.setAlarmClock(...),我的应用程序alarmManager.getNextAlarmClock()在主屏幕上显示下一个闹钟时间,显示为上午 9:00。

这是我在系统提供的时钟应用程序上设置其他一些闹钟并将闹钟设置为上午 8:00 时遇到的一个问题。此闹钟时间将反映在我的应用程序下一个闹钟时间中,显示下一个时间设置为 8 :00 AM 而不是 9:00 AM.,这是不应该的。

 private String getNextAlarmClock() {

    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        AlarmManager.AlarmClockInfo alarmClockInfo = alarmManager.getNextAlarmClock();

        Log.d(TAG, "time of next alarm in millis" + alarmClockInfo.getTriggerTime());

        return alarmClockInfo.getTriggerTime() + "";

}

谁能在这方面帮助我。感谢您的帮助。

提前致谢!

4

1 回答 1

1

如果您调用系统警报管理器,那么这对您手机中的所有应用程序都是通用的。并且getNextAlarmClock()会给你在你的手机中设置的下一个闹钟,而不是你的应用程序。如果您想要特定于您的应用程序的警报,那么您必须在不使用警报管理器的情况下创建它。

如果您可以通过系统警报管理器发出警报并且问题仅显示下一个警报时间,那么我建议使用系统警报管理器设置时间并将此信息保存到数据库/共享首选项。要显示下一个警报时间,您可以从数据库中获取保存的数据,而不是从警报管理器中获取。

于 2018-02-26T07:36:50.410 回答