需要使用什么类在Android的确切时间获取每日提醒

问题描述 投票:0回答:2

我已经尝试过使用setRepeating方法的Alarm manager类来实现日常提醒。但它只能在库存的android设备上正常工作。大多数中文设备未能收到提醒。

他们大多数建议使用“ Evernote android-job”库。但这已被弃用,并提到使用WorkManager。

Work Manager不适合精确的计时操作。

请帮助我实现日常提醒。

android alarmmanager android-alarms reminders
2个回答
0
投票

尝试Firebase jobdispatcher github.com/firebase/firebase-jobdispatcher-android

 FirebaseJobDispatcher jobDispatcher = new FirebaseJobDispatcher(
                    new GooglePlayDriver(mContext));



  Job networkJob = jobDispatcher.newJobBuilder()
                            .setService(MyJobService.class)
                            .setTag(notificationTime)
                            .setRecurring(true)
                            .setTrigger(Trigger.executionWindow(startSeconds, startSeconds + 1))
                            .setLifetime(Lifetime.FOREVER)
                            .setReplaceCurrent(true)
                            .setConstraints(Constraint.ON_ANY_NETWORK, Constraint.DEVICE_IDLE)
                            .build();

                    jobDispatcher.mustSchedule(networkJob);
                    int resultCodeStatus = jobDispatcher.schedule(networkJob);

                    if (resultCodeStatus != FirebaseJobDispatcher.SCHEDULE_RESULT_SUCCESS) {
                        Log.d("JOB_TAG", "Job ERROR ON SCHEDULE");
                    } else {
                        Log.d("JOB_TAG", "Job scheduled");
                    }

0
投票

例如,如果您确实需要确切的时间,也许最好使用CRON作业从Firebase Messaging(在准确的时间)发送消息。

在应用程序中,您需要扩展FirebaseMessagingService()并调用该方法以在onMessageReceived中触发提醒(您也可以向下发送一些数据)。

此方法将在所有设备上都有效,并且可以抵抗应用程序更新,操作系统更新和电话重启。

© www.soinside.com 2019 - 2024. All rights reserved.