【问题标题】:Set notification at specific time via Google Workmanager [duplicate]通过 Google Workmanager 在特定时间设置通知 [重复]
【发布时间】:2018-11-23 16:25:51
【问题描述】:

我已经使用 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 库发生时,我想在数据库中的触发时间运行通知

【问题讨论】:

    标签: java android android-workmanager


    【解决方案1】:

    WorkManager 不是为这种情况设计的。你必须使用AlarmManager

    【讨论】:

      【解决方案2】:

      谢谢,但我已经使用 Evernote Android Job 库来实现这个场景。但我在他们的 github 自述文件中读到了这句话

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

      我想知道它是什么意思?

      【讨论】:

        猜你喜欢
        • 2012-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-06
        • 1970-01-01
        • 1970-01-01
        • 2014-06-19
        • 1970-01-01
        相关资源
        最近更新 更多