【问题标题】:Notification with workManager使用 workManager 通知
【发布时间】:2019-05-27 20:52:21
【问题描述】:

我正在使用 PeriodicWorkRequest 创建应用程序来执行或触发内容每天都在变化的通知。 它工作顺利,但我想测试第二天的内容,我在这种情况下搜索但没有找到最佳解决方案。我尝试更改设备中的日期,但仍然无法正常工作

 val notificationWorkBuilderRepeated = PeriodicWorkRequest
            .Builder(Notification::class.java, 1, TimeUnit.DAYS)
            .setInputData(inputData)
            .build()

    WorkManager.getInstance().enqueue(notificationWorkBuilderRepeated)

【问题讨论】:

  • 如果您只想测试行为,最好的方法是根据风格定制间隔。即创建一个 dev 风格,并为该风格,使通知间隔类似于例如5 分钟,如果通知在 5 分钟后出现在 dev 上,那么它应该在一天后出现在 production 上。

标签: android android-notifications android-workmanager


【解决方案1】:

这里最好的方法是使用WorkManagerTestInitHelper编写一些androidTest。

此帮助程序提供了一个自定义驱动程序,您可以使用该驱动程序来测试 PeriodicWorkers,以模拟已满足周期性延迟:

val testDriver = WorkManagerTestInitHelper.getTestDriver()

// Tells the testing framework the period delay is met
testDriver.setPeriodDelayMet(request.id)

【讨论】:

    【解决方案2】:

    由于我是第一次与 Work Manager 一起工作,所以我也遇到了这个问题进行测试。

    我刚刚减少了 15 分钟的间隔并进行了测试。

    目前每小时都能正常工作。

    您也可以给它 15 分钟(最小间隔)来测试它。

    希望对您有所帮助。谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多