Android 每天创建通知

Android 每天创建通知,android,service,notifications,Android,Service,Notifications,我想每天早上8点创建一个通知。我在SQLite数据库中有一些数据,每天这个时候我都想从中获取数据并从中创建一个通知。创建新通知没有问题,但是我如何在每天的这个时候显示它呢 我想我必须使用某项服务,但我如何才能告诉系统在特殊时刻启动此项服务?我应该使用什么样的服务?我认为,如果系统调用该服务,它会启动一个特定的函数,在该函数中,我可以运行代码连接到数据库,创建并向系统发送通知,对吗 我不明白的是,如果我在我的主要活动中注册了该服务,那么如果用户关闭了我的应用程序,为什么系统可以启动该服务?谁能给我

我想每天早上8点创建一个通知。我在SQLite数据库中有一些数据,每天这个时候我都想从中获取数据并从中创建一个通知。创建新通知没有问题,但是我如何在每天的这个时候显示它呢

我想我必须使用某项服务,但我如何才能告诉系统在特殊时刻启动此项服务?我应该使用什么样的服务?我认为,如果系统调用该服务,它会启动一个特定的函数,在该函数中,我可以运行代码连接到数据库,创建并向系统发送通知,对吗

我不明白的是,如果我在我的主要活动中注册了该服务,那么如果用户关闭了我的应用程序,为什么系统可以启动该服务?谁能给我解释一下吗?我一直认为,如果我的主要活动被破坏,服务也会被破坏。

使用该类并将通知放入
NotifyService
类中。这将在每天早上8点设置警报:

Intent myIntent = new Intent(Current.this , NotifyService.class);     
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
pendingIntent = PendingIntent.getService(ThisApp.this, 0, myIntent, 0);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 08);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 00);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000 , pendingIntent);  //set repeating every 24 hours

您不需要服务器。我认为最好的实现方法是使用AlarmManager


输入错误将AlertManager更改为AlarmManager我有相同的设置,但我每小时收到一次通知,而不是每天收到一次。这将一直持续到用户重新启动手机为止。要使AlarmManager即使在重新启动后仍能工作,请在此处查看此帖子。。。它不是每天发送一次,但每次我打开应用程序时都会发送预定义的AlarmManager。可以使用INTERVAL_day来代替24*60*60*1000,减少出错的机会。。。