-1

我有两次,每天这些时间都与前一天不同,例如提醒 1 天 1:5:30 提醒 1 天 2:5:35

我正在使用 json 对象从互联网上获取时间......我需要的是在系统时钟到达提醒时间时触发通知,我已经完成的是一个包含需要时间的 alrm 管理器的活动此提醒并在广播接收器上创建通知;但这不是一个好的解决方案,因为我不能重复闹钟,因为每天我都有不同的时间......而且我不能在广播接收器上调用相同的闹钟方法,因为我需要再次创建整个活动再次获取所有变量,因为它们将不再存在...

那么有没有一种方法可以创建一个服务,即使手机重新启动,它也会继续工作,并将比较系统时间和提醒时间,并在两个时间相等或存在时触发通知另一种解决方案?谢谢。

编辑

public void scheduleAlarm()
        {
            Long time=calendar.getTimeInMillis()+5*60*1000;
         //other lines to get the real time..  





           Intent intentAlarm = new Intent(this, TimeAlarm.class);


            AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);


           alarmManager.set(AlarmManager.RTC_WAKEUP,time, PendingIntent.getBroadcast(this,1,  intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));

        }
4

2 回答 2

0

它需要在服务中编写我的警报方法并在触发警报后获取该服务中所有需要的变量将被意图广播接收器捕获,该接收器将创建一个通知并让警报再次工作......

于 2013-10-09T18:44:55.110 回答
0

您可以继续使用另一种方法,例如获取新时间,取消注册并在触发未决警报时注册您的日程安排,但也可能涉及使用具有小而仔细配置的服务的解决方案,以使您的服务表现良好,具体取决于关于系统状态。

于 2013-10-09T17:20:49.220 回答