通过Google Workmanager在特定时间设置通知

时间:2018-11-23 16:25:52

标签: java android android-workmanager

我已经使用Android Job库进行计划作业,但是一旦Google在I / O 2018中宣布Workmanager库。我想将其用作替代方法,但是很遗憾,我无法使用它来安排特定时间的通知,例如-例如上午8:30的事件通知 这是我的经理要求代码

Data data = new Data.Builder()
                        .putString("EVENT_ID", event.id)
                        .putString("EVENT_TITLE", event.eventTitle)
                        .putString("START_TIME", event.startTime)
                        .build();

                long delayToPass = getTriggerTime(triggerTime);

                OneTimeWorkRequest compressionWork = new OneTimeWorkRequest.Builder(EventWorker.class)
                                .setInputData(data)
                                .setPeriodStartTime(delayToPass, TimeUnit.MILLISECONDS )
                                .build();

                WorkManager.getInstance().enqueue(compressionWork);

我的代码从数据库中读取触发时间..当事件通过Workmanager库发生时,我想在数据库中的触发时间运行通知

2 个答案:

答案 0 :(得分:1)

WorkManager不适用于该方案。您将必须使用AlarmManager

答案 1 :(得分:0)

谢谢,但是我已经使用Evernote Android Job库实现了这种情况。但我在他们的github自述文件中读了下一个报价

  

WorkManager是Google的新架构组件,它试图解决该库试图解决的非常相似的问题:对于所有Android版本,仅一次实施后台作业。该API与该库非常相似,但是提供了更多功能,例如链接工作项,并且运行自己的执行程序。   如果开始新项目,则应使用WorkManager而不是此库。您还应该开始将代码从该库迁移到WorkManager。在将来的某个时候,该库将被弃用。   从版本1.3.0开始,该库将在内部使用WorkManager来调度作业。这样可以简化向新架构组件的过渡

我想知道这是什么意思吗?