Уведомление не сработало через 3 дня в работе менеджера android - PullRequest
0 голосов
/ 04 февраля 2020

Я пытался запланировать уведомление через 3 дня через WorkManager, но оно не сработало. Я пробовал следующее.

ArticleNotificationWorker

public class ArticleNotificationWorker extends Worker {

    private static final String WORK_RESULT = "work_result";
    Context mContext;
    public static final String FROM_ARTICLE_NOTIFICATIONS = "ArticleNotifications";


    public ArticleNotificationWorker(
            @NonNull Context context,
            @NonNull WorkerParameters params) {
        super(context, params);
        mContext = context;


    }



    @NonNull
    @Override
    public Result doWork() {
        //create notifications only after three days of unlocking the article
        buildAndSendNotification();
        Data outputData = new Data.Builder().putString(WORK_RESULT, "Jobs Finished").build();
        return Result.success(outputData);

    }

    private void buildAndSendNotification(){
       //send notification
    }



}

Запрос WorkManager выглядит следующим образом

OneTimeWorkRequest request = new OneTimeWorkRequest.Builder(ArticleNotificationWorker.class)
                .setInitialDelay(3, TimeUnit.DAYS)
                .addTag(IAppConstants.ARTICLE_NOTIFICATION)
                .build();

        workManager.beginUniqueWork(IAppConstants.ARTICLE_NOTIFICATION_WORK, ExistingWorkPolicy.REPLACE,
                request)
                .enqueue();

Я был бы очень признателен, если бы вы могли помочь меня с вопросом.

1 Ответ

0 голосов
/ 04 февраля 2020

Я помню, как однажды я использовал WorkManager для планирования сервиса, но он не вызывал его, когда приложение закрывалось, оказалось, что это из-за того, что я тестировал его на моем телефоне. видеть вашу ОС на телефоне, который вы использовали, позволяет.

...