我想在固定时间每12小时推送一次通知(比如,每天上午9点和晚上9点).这是我当前的doWork()代码:
@NonNull
@Override
public Result doWork() {
database.child("business_users").child(currentUserID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
user = snapshot.getValue(BusinessUser.class);
if(user.isNotifications()==true)
{
if(user.getRatingsCount() > user.getLastKnownRC())
{
theDifference = user.getRatingsCount() - user.getLastKnownRC();
notification();
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
Log.i("BackgroundWork" , "notif sent");
return Result.success();
}
`
这是作品创作代码:
public void FirstTimeWork ()
{
PeriodicWorkRequest myWorkRequest =
new PeriodicWorkRequest.Builder(BackgroundWork.class, 12, TimeUnit.HOURS)
.setInitialDelay(1, TimeUnit.DAYS)
.addTag("notif")
.build();
}
我看到一些人用日历做这件事,但我不明白它是如何工作的.