问题描述
我正在使用PeriodicWorkRequest在数据库中搜索最新事件。为此,我需要每天早上9点咨询数据库。 但是我找不到办法。这是我第一次使用PeriodicWorkRequest并尝试找到解决方案,但是我只能使用Alarm Manager来找到它。但这不必是9:00。可以在上午9点到上午10点之间。甚至即使有延迟,也不会有问题。 感谢任何帮助我的人。我为我的英语感到抱歉。
我的代码:
MyActivity
//set as restrictions
//only run when there is internet
Constraints constraints = new Constraints.Builder().setrequiredNetworkType(NetworkType.CONNECTED).build();
// Passing params
Data.Builder data = new Data.Builder();
data.putString("email",email);
data.putString("tipo",tipo);
PeriodicWorkRequest periodicWork = new PeriodicWorkRequest.Builder(NotificationBackground.class,24,TimeUnit.HOURS).setConstraints(constraints).addTag("Notificacao_Eventos")
.setInputData(data.build()).build();
WorkManager.getInstance(this).enqueue(periodicWork);
NotificationBackground
public class NotificationBackground extends Worker {
public NotificationBackground(@NonNull Context context,@NonNull WorkerParameters params) {
super(context,params);
}
@Override
public Result doWork() {
String email = getInputData().getString("email");
String tipo = getInputData().getString("tipo");
if(email == null || tipo==null) {
return Result.failure();
}
buscarDadosBD();
return Result.retry();
}
private void buscarDadosBD(){
//just for testing,but then I'll put the code to query the database
System.out.println("Teste");
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)