Android 在安卓系统中,需要使用哪些类在准确的时间获取每日提醒
我尝试了Alarm manager类和setRepeating方法来实现每日提醒。但它只能在android设备上正常工作。大多数中国设备都没有收到提醒 大多数人建议使用“Evernote android job”库。但它已被弃用,并且提到使用WorkManager 工作经理不适合精确计时操作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
请帮助我实现每日提醒。请尝试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的回复。但我想在没有互联网连接的情况下也运行该作业