我有一个后台服务,每天下午1点打电话给我。下午1点,我的Firebase数据库中的3个值应设置为0。当用户启动某个活动时,会触发后台服务。如我所愿,值在下午1点重置为0,但每次下午1点后,当用户启动活动时,服务都会运行重置我的值。如何在下午1点将值重置为0,直到第二天下午1点才再次重置?
下面是我在服务类中的代码
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 13);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
timer = new Timer();
timer.schedule(new TimerTask()
{
@Override
public void run()
{
String id = FirebaseAuth.getInstance().getCurrentUser().getUid();
FirebaseDatabase.getInstance().getReference().child("Users").child(id).child("steps").setValue(0);
FirebaseDatabase.getInstance().getReference().child("Users").child(id).child("bonusScore").setValue(0);
FirebaseDatabase.getInstance().getReference().child("Users").child(id).child("stepsScore").setValue(0);
}
}, calendar.getTime(), TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS));
return START_STICKY;
}
@Override
public void onDestroy()
{
super.onDestroy();
}
这是启动服务的代码。此方法在此活动的oncreate方法中调用。
private void startBackgroundService()
{
startService(new Intent(this, BackgroundService.class));
}
您可以使用工作管理器来安排任务。
在这里您可以找到入门指南......
我是RXJava的新手。在一个场景中,我希望调用第一个登录webservice(),如果成功,则希望调用另一个webservice()以获取用户信息。
问题内容: 我需要在Android设备中致电Soap Web服务。我已经在其他页面上阅读了很多文章,观看了视频…但是我尝试了所有方法,但是我无法使其在我的android设备上正常工作,也无法在模拟器上进行测试,因为我的计算机无法处理其中任何一个,所以我不知道错误是否在代码上,或者这是否是我的android设备的问题。 布局xml只是一个EditText,一个Button和一个TextView。 在
我想调用熊猫内部的计数器值。 迄今为止的努力: 电流输出: 预期输出: 下面的内部数据框: 我想在数据框内调用el和cnt如何? 这是一个后续问题,我想列出POS分销的百分比。 百分比计数动词,名词使用空格? 我理解我需要将el组和cnt组替换为c组,如下所示: df=pd。数据帧。来自目录(c,orient='index')。重置索引()
我在调用我的onLeScan时遇到问题。我在开始扫描中放置了一个标签,每次都会被调用。出于某种原因,我的onLeScan永远不会被调用。有人看到我所做的有问题吗?onLeScan应该在开始扫描后立即调用,对吗? 编辑更改了我的onLeScan函数。仍然不起作用,但我认为我正在走向正确的道路。DeviceBeacon是一个只包含方法的类:getName()、getSignal()和getAddres
问题内容: 我想使用Mockito测试下面的(简化)代码。我不知道如何告诉Mockito第一次失败,然后第二次成功。 我可以通过以下方式设置成功测试: 以及失败测试: 但是,如何测试一次失败(或两次)然后成功,就可以了吗? 问题答案: 从文档: 有时,对于同一方法调用,我们需要对不同的返回值/异常进行存根。典型的用例可能是模拟迭代器。Mockito的原始版本没有此功能来促进简单的模拟。例如,可以使
Gradle 2.13中的以下工作: 在Gradle 3.0中,我收到错误: 方法没有签名:静态组织。格拉德尔。util。ConfigureUtil。configure()适用于参数类型:(build\u dke3xcnofl8fbuvcpvgwyc2r5$\u run\u closure12$\u closure38,com.eriwen.gradle.css.source.internal.D