Java 发送通知';从Sql数据库中获取的时间

Java 发送通知';从Sql数据库中获取的时间,java,android,Java,Android,我需要一些帮助,正如标题所说的,我需要向sql(Room)数据库中节省的特定时间发送通知。我尝试使用alarmManager和广播接收器,但我不知道如何在应用程序关闭时从数据库中获取时间 您应该启动后台服务,如WorkManager,您可以使其定期运行(至少每15分钟重复一次)。即使你的手机重新启动,它也会运行。WorkManager非常易于配置和使用 例如: class MyBackgroundWorker extends Worker { public MyBackgroundWorke

我需要一些帮助,正如标题所说的,我需要向sql(Room)数据库中节省的特定时间发送通知。我尝试使用alarmManager和广播接收器,但我不知道如何在应用程序关闭时从数据库中获取时间

您应该启动后台服务,如
WorkManager
,您可以使其定期运行(至少每15分钟重复一次)。即使你的手机重新启动,它也会运行。WorkManager非常易于配置和使用

例如:

class MyBackgroundWorker extends Worker {
  public MyBackgroundWorker(Context context, WorkParameters workParameters){
     super(context, workParameters);
   }

  @Override
  Result doWork(){
    //make room request here
    //after selection is successful schedule your alarm manager notification here
  }
}
现在,如何启动它:

在您需要时:

WorkManager.getInstance(myContext).enqueue(OneTimeWorkRequestBuilder<UploadWorker>()
        .build());

//or you can choose periodic requests.
WorkManager.getInstance(myContext).enqueue(OneTimeWorkRequestBuilder())
.build());
//或者您可以选择定期请求。

谢谢你的回答。你能帮我一下吗?我怎样才能从班级或工人班访问房间数据库?你需要一个你正在使用的
Dao
的实例。您可以为此使用依赖项注入
ClockDao=YourApplication.getDao()
doWork
方法中