Уведомление с помощью WorkManager

#android #android-notifications #android-workmanager

#Android #android-уведомления #android-WorkManager

Вопрос:

Я создаю приложение, используя PeriodicWorkRequest для выполнения или запуска уведомлений с содержанием, меняющимся каждый день. это работает гладко, но я хочу протестировать содержимое на следующий день, я ищу в этом случае, но не приходит к лучшему решению. я пытаюсь изменить день на устройстве, но он по-прежнему не работает

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

    WorkManager.getInstance().enqueue(notificationWorkBuilderRepeated)
 

Комментарии:

1. Если вы хотите только протестировать поведение, лучший подход — настроить интервал на основе вкусов. т. Е. Создайте dev вкус и для этого сделайте интервал уведомлений примерно таким, например, 5 минут, если уведомление появляется dev через 5 минут, то оно должно появиться production через день.

Ответ №1:

Лучший подход здесь — написать некоторый androidTest с использованием WorkManagerTestInitHelper .

Этот помощник предоставляет пользовательский драйвер, который вы можете использовать для тестирования PeriodicWorkers, имитируя выполнение периодической задержки:

 val testDriver = WorkManagerTestInitHelper.getTestDriver()

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

Ответ №2:

Поскольку я впервые работал с Work Manager, у меня также возникла эта проблема для тестирования.

Я только что уменьшил интервал на 15 минут и протестировал.

В настоящее время он работает нормально каждый час.

Вы также можете протестировать его, предоставив 15 минут (минимальный интервал) для его тестирования.

Надеюсь, это поможет вам. Спасибо.