Android 在安卓系统中,需要使用哪些类在准确的时间获取每日提醒

Android 在安卓系统中,需要使用哪些类在准确的时间获取每日提醒,android,alarmmanager,android-alarms,reminders,Android,Alarmmanager,Android Alarms,Reminders,我尝试了Alarm manager类和setRepeating方法来实现每日提醒。但它只能在android设备上正常工作。大多数中国设备都没有收到提醒 大多数人建议使用“Evernote android job”库。但它已被弃用,并且提到使用WorkManager 工作经理不适合精确计时操作 请帮助我实现每日提醒。请尝试Firebase jobdispatcher github.com/Firebase/Firebase-jobdispatcher-android FirebaseJobDis

我尝试了Alarm manager类和setRepeating方法来实现每日提醒。但它只能在android设备上正常工作。大多数中国设备都没有收到提醒

大多数人建议使用“Evernote android job”库。但它已被弃用,并且提到使用WorkManager

工作经理不适合精确计时操作


请帮助我实现每日提醒。

请尝试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");
                    }

如果您确实需要准确的时间,那么最好使用CRON作业从Firebase消息传递(在准确的时间)发送消息

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


这种方法适用于所有设备,并且不支持应用程序更新、操作系统更新和手机重启。

谢谢Ganesh。但Firebase作业调度器也不赞成使用WorkManager。作为参考,感谢freak的回复。但我想在没有互联网连接的情况下也运行该作业